@sapudex/web-components 2.57.0 → 2.58.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (222) hide show
  1. package/cypress/specs/FilterMenu.cy.tsx +209 -19
  2. package/cypress/specs/List.cy.tsx +67 -4
  3. package/cypress/specs/ListItem.cy.tsx +35 -9
  4. package/cypress/specs/SelectBox.cy.tsx +100 -0
  5. package/cypress/specs/TabNavigation.cy.tsx +297 -21
  6. package/dist/List.d.ts +15 -1
  7. package/dist/List.js +23 -2
  8. package/dist/List.js.map +1 -1
  9. package/dist/ListGroupHeaderBase.d.ts +13 -0
  10. package/dist/ListGroupHeaderBase.js +43 -2
  11. package/dist/ListGroupHeaderBase.js.map +1 -1
  12. package/dist/ListGroupHeaderTemplate.js +26 -7
  13. package/dist/ListGroupHeaderTemplate.js.map +1 -1
  14. package/dist/ListItem.d.ts +0 -3
  15. package/dist/ListItem.js +18 -12
  16. package/dist/ListItem.js.map +1 -1
  17. package/dist/ListItemBase.d.ts +17 -0
  18. package/dist/ListItemBase.js +15 -0
  19. package/dist/ListItemBase.js.map +1 -1
  20. package/dist/ListItemTemplate.js +2 -2
  21. package/dist/ListItemTemplate.js.map +1 -1
  22. package/dist/MastheadCountrySelector.js +5 -5
  23. package/dist/MastheadCountrySelector.js.map +1 -1
  24. package/dist/MastheadCountrySelectorTemplate.d.ts +2 -0
  25. package/dist/MastheadCountrySelectorTemplate.js +15 -0
  26. package/dist/MastheadCountrySelectorTemplate.js.map +1 -0
  27. package/dist/MastheadItem.d.ts +0 -3
  28. package/dist/MastheadItem.js +3 -6
  29. package/dist/MastheadItem.js.map +1 -1
  30. package/dist/MastheadItemTemplate.d.ts +2 -0
  31. package/dist/MastheadItemTemplate.js +41 -0
  32. package/dist/MastheadItemTemplate.js.map +1 -0
  33. package/dist/MastheadMenu.d.ts +1 -0
  34. package/dist/MastheadMenu.js +4 -6
  35. package/dist/MastheadMenu.js.map +1 -1
  36. package/dist/MastheadMenuItem.d.ts +0 -3
  37. package/dist/MastheadMenuItem.js +3 -6
  38. package/dist/MastheadMenuItem.js.map +1 -1
  39. package/dist/MastheadMenuItemTemplate.d.ts +2 -0
  40. package/dist/MastheadMenuItemTemplate.js +36 -0
  41. package/dist/MastheadMenuItemTemplate.js.map +1 -0
  42. package/dist/MastheadMenuTemplate.d.ts +2 -0
  43. package/dist/MastheadMenuTemplate.js +13 -0
  44. package/dist/MastheadMenuTemplate.js.map +1 -0
  45. package/dist/MastheadMobileMenu.js +3 -3
  46. package/dist/MastheadMobileMenu.js.map +1 -1
  47. package/dist/MastheadMobileMenuTemplate.d.ts +2 -0
  48. package/dist/MastheadMobileMenuTemplate.js +33 -0
  49. package/dist/MastheadMobileMenuTemplate.js.map +1 -0
  50. package/dist/MastheadProfileMenu.d.ts +2 -4
  51. package/dist/MastheadProfileMenu.js +5 -20
  52. package/dist/MastheadProfileMenu.js.map +1 -1
  53. package/dist/MastheadProfileMenuTemplate.d.ts +2 -0
  54. package/dist/MastheadProfileMenuTemplate.js +24 -0
  55. package/dist/MastheadProfileMenuTemplate.js.map +1 -0
  56. package/dist/MastheadShell.js +3 -5
  57. package/dist/MastheadShell.js.map +1 -1
  58. package/dist/MastheadShellTemplate.d.ts +2 -0
  59. package/dist/MastheadShellTemplate.js +20 -0
  60. package/dist/MastheadShellTemplate.js.map +1 -0
  61. package/dist/SearchableListBase.d.ts +10 -0
  62. package/dist/SearchableListBase.js +34 -1
  63. package/dist/SearchableListBase.js.map +1 -1
  64. package/dist/SearchableListBaseTemplate.js +35 -4
  65. package/dist/SearchableListBaseTemplate.js.map +1 -1
  66. package/dist/SecondaryNavigation.d.ts +1 -0
  67. package/dist/SecondaryNavigation.js +20 -6
  68. package/dist/SecondaryNavigation.js.map +1 -1
  69. package/dist/SelectBase.js +8 -3
  70. package/dist/SelectBase.js.map +1 -1
  71. package/dist/Tab.d.ts +0 -7
  72. package/dist/Tab.js +4 -19
  73. package/dist/Tab.js.map +1 -1
  74. package/dist/TabHeaderTemplate.d.ts +2 -0
  75. package/dist/TabHeaderTemplate.js +15 -0
  76. package/dist/TabHeaderTemplate.js.map +1 -0
  77. package/dist/TabInOverflowTemplate.d.ts +2 -0
  78. package/dist/TabInOverflowTemplate.js +7 -0
  79. package/dist/TabInOverflowTemplate.js.map +1 -0
  80. package/dist/TabNavigation.d.ts +3 -4
  81. package/dist/TabNavigation.js +53 -40
  82. package/dist/TabNavigation.js.map +1 -1
  83. package/dist/TabNavigationPopoverTemplate.d.ts +2 -0
  84. package/dist/TabNavigationPopoverTemplate.js +9 -0
  85. package/dist/TabNavigationPopoverTemplate.js.map +1 -0
  86. package/dist/TabNavigationTemplate.d.ts +2 -0
  87. package/dist/TabNavigationTemplate.js +10 -0
  88. package/dist/TabNavigationTemplate.js.map +1 -0
  89. package/dist/TabTemplate.d.ts +2 -0
  90. package/dist/TabTemplate.js +5 -0
  91. package/dist/TabTemplate.js.map +1 -0
  92. package/dist/assets/{InputSuggestions-C8grDr_8.js → InputSuggestions-CMYjJsHw.js} +1 -1
  93. package/dist/assets/{ListItemStandardExpandableTextTemplate-BQtSr7yg.js → ListItemStandardExpandableTextTemplate-D2i8wWuR.js} +1 -1
  94. package/dist/assets/{bundle.esm-GvPkDyXP.js → bundle.esm-BjN47C_y.js} +242 -242
  95. package/dist/assets/messagebundle_en-B7YJOdQz.js +1 -0
  96. package/dist/css/themes/Button.css +1 -1
  97. package/dist/css/themes/ListGroupHeader.css +1 -1
  98. package/dist/css/themes/PromoTile.css +1 -1
  99. package/dist/css/themes/TabInOverflow.css +1 -1
  100. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  101. package/dist/generated/i18n/i18n-defaults.d.ts +3 -1
  102. package/dist/generated/i18n/i18n-defaults.js +3 -1
  103. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  104. package/dist/generated/themes/Button.css.d.ts +1 -1
  105. package/dist/generated/themes/Button.css.js +1 -1
  106. package/dist/generated/themes/Button.css.js.map +1 -1
  107. package/dist/generated/themes/ListGroupHeader.css.d.ts +1 -1
  108. package/dist/generated/themes/ListGroupHeader.css.js +1 -1
  109. package/dist/generated/themes/ListGroupHeader.css.js.map +1 -1
  110. package/dist/generated/themes/PromoTile.css.d.ts +1 -1
  111. package/dist/generated/themes/PromoTile.css.js +1 -1
  112. package/dist/generated/themes/PromoTile.css.js.map +1 -1
  113. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  114. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  115. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  116. package/dist/messagebundle.properties +4 -0
  117. package/dist/messagebundle_en.properties +2 -0
  118. package/dist/web-types.json +1 -1
  119. package/package.json +1 -1
  120. package/src/List.ts +24 -2
  121. package/src/ListGroupHeaderBase.ts +44 -2
  122. package/src/ListGroupHeaderTemplate.tsx +74 -23
  123. package/src/ListItem.ts +18 -15
  124. package/src/ListItemBase.ts +30 -0
  125. package/src/ListItemTemplate.tsx +4 -4
  126. package/src/MastheadCountrySelector.ts +5 -5
  127. package/src/MastheadCountrySelectorTemplate.tsx +98 -0
  128. package/src/MastheadItem.ts +3 -6
  129. package/src/MastheadItemTemplate.tsx +178 -0
  130. package/src/MastheadMenu.ts +5 -6
  131. package/src/MastheadMenuItem.ts +3 -7
  132. package/src/MastheadMenuItemTemplate.tsx +123 -0
  133. package/src/MastheadMenuTemplate.tsx +142 -0
  134. package/src/MastheadMobileMenu.ts +3 -3
  135. package/src/MastheadMobileMenuTemplate.tsx +274 -0
  136. package/src/MastheadProfileMenu.ts +10 -23
  137. package/src/MastheadProfileMenuTemplate.tsx +143 -0
  138. package/src/MastheadShell.ts +3 -5
  139. package/src/MastheadShellTemplate.tsx +228 -0
  140. package/src/SearchableListBase.ts +37 -1
  141. package/src/SearchableListBaseTemplate.tsx +38 -2
  142. package/src/SecondaryNavigation.ts +21 -6
  143. package/src/SelectBase.ts +8 -3
  144. package/src/Tab.ts +4 -24
  145. package/src/TabHeaderTemplate.tsx +153 -0
  146. package/src/TabInOverflowTemplate.tsx +68 -0
  147. package/src/TabNavigation.ts +61 -44
  148. package/src/TabNavigationPopoverTemplate.tsx +27 -0
  149. package/src/TabNavigationTemplate.tsx +98 -0
  150. package/src/TabTemplate.tsx +7 -0
  151. package/src/generated/i18n/i18n-defaults.ts +2 -2
  152. package/src/generated/themes/Button.css.ts +1 -1
  153. package/src/generated/themes/ListGroupHeader.css.ts +1 -1
  154. package/src/generated/themes/PromoTile.css.ts +1 -1
  155. package/src/generated/themes/TabInOverflow.css.ts +1 -1
  156. package/src/i18n/messagebundle.properties +4 -0
  157. package/src/i18n/messagebundle_en.properties +2 -0
  158. package/src/themes/Button.css +2 -1
  159. package/src/themes/ListGroupHeader.css +50 -7
  160. package/src/themes/PromoTile.css +1 -0
  161. package/src/themes/TabInOverflow.css +9 -4
  162. package/dist/assets/messagebundle_en-DBpf5Il2.js +0 -1
  163. package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.d.ts +0 -3
  164. package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js +0 -13
  165. package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js.map +0 -1
  166. package/dist/generated/templates/MastheadItemTemplate.lit.d.ts +0 -3
  167. package/dist/generated/templates/MastheadItemTemplate.lit.js +0 -43
  168. package/dist/generated/templates/MastheadItemTemplate.lit.js.map +0 -1
  169. package/dist/generated/templates/MastheadMenuItemTemplate.lit.d.ts +0 -3
  170. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js +0 -21
  171. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js.map +0 -1
  172. package/dist/generated/templates/MastheadMenuTemplate.lit.d.ts +0 -3
  173. package/dist/generated/templates/MastheadMenuTemplate.lit.js +0 -25
  174. package/dist/generated/templates/MastheadMenuTemplate.lit.js.map +0 -1
  175. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.d.ts +0 -3
  176. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js +0 -37
  177. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js.map +0 -1
  178. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.d.ts +0 -3
  179. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js +0 -18
  180. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js.map +0 -1
  181. package/dist/generated/templates/MastheadShellTemplate.lit.d.ts +0 -3
  182. package/dist/generated/templates/MastheadShellTemplate.lit.js +0 -28
  183. package/dist/generated/templates/MastheadShellTemplate.lit.js.map +0 -1
  184. package/dist/generated/templates/TabHeaderTemplate.lit.d.ts +0 -3
  185. package/dist/generated/templates/TabHeaderTemplate.lit.js +0 -52
  186. package/dist/generated/templates/TabHeaderTemplate.lit.js.map +0 -1
  187. package/dist/generated/templates/TabInOverflowTemplate.lit.d.ts +0 -3
  188. package/dist/generated/templates/TabInOverflowTemplate.lit.js +0 -15
  189. package/dist/generated/templates/TabInOverflowTemplate.lit.js.map +0 -1
  190. package/dist/generated/templates/TabNavigationPopoverTemplate.lit.d.ts +0 -3
  191. package/dist/generated/templates/TabNavigationPopoverTemplate.lit.js +0 -8
  192. package/dist/generated/templates/TabNavigationPopoverTemplate.lit.js.map +0 -1
  193. package/dist/generated/templates/TabNavigationTemplate.lit.d.ts +0 -3
  194. package/dist/generated/templates/TabNavigationTemplate.lit.js +0 -16
  195. package/dist/generated/templates/TabNavigationTemplate.lit.js.map +0 -1
  196. package/dist/generated/templates/TabTemplate.lit.d.ts +0 -3
  197. package/dist/generated/templates/TabTemplate.lit.js +0 -7
  198. package/dist/generated/templates/TabTemplate.lit.js.map +0 -1
  199. package/src/MastheadCountrySelector.hbs +0 -76
  200. package/src/MastheadItem.hbs +0 -136
  201. package/src/MastheadMenu.hbs +0 -131
  202. package/src/MastheadMenuItem.hbs +0 -102
  203. package/src/MastheadMobileMenu.hbs +0 -253
  204. package/src/MastheadProfileMenu.hbs +0 -121
  205. package/src/MastheadShell.hbs +0 -223
  206. package/src/Tab.hbs +0 -1
  207. package/src/TabHeader.hbs +0 -141
  208. package/src/TabInOverflow.hbs +0 -59
  209. package/src/TabNavigation.hbs +0 -88
  210. package/src/TabNavigationPopover.hbs +0 -18
  211. package/src/generated/templates/MastheadCountrySelectorTemplate.lit.ts +0 -17
  212. package/src/generated/templates/MastheadItemTemplate.lit.ts +0 -47
  213. package/src/generated/templates/MastheadMenuItemTemplate.lit.ts +0 -25
  214. package/src/generated/templates/MastheadMenuTemplate.lit.ts +0 -29
  215. package/src/generated/templates/MastheadMobileMenuTemplate.lit.ts +0 -41
  216. package/src/generated/templates/MastheadProfileMenuTemplate.lit.ts +0 -22
  217. package/src/generated/templates/MastheadShellTemplate.lit.ts +0 -32
  218. package/src/generated/templates/TabHeaderTemplate.lit.ts +0 -56
  219. package/src/generated/templates/TabInOverflowTemplate.lit.ts +0 -19
  220. package/src/generated/templates/TabNavigationPopoverTemplate.lit.ts +0 -12
  221. package/src/generated/templates/TabNavigationTemplate.lit.ts +0 -20
  222. package/src/generated/templates/TabTemplate.lit.ts +0 -11
@@ -1 +1 @@
1
- {"version":3,"file":"MastheadMobileMenu.js","sourceRoot":"","sources":["../src/MastheadMobileMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot, Slot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n isHome, isEnd, isTabNext, isTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { MenuItem, SubMenuLinkItem } from \"./MastheadItem.js\";\nimport type UDExMastheadItem from \"./MastheadItem.js\";\nimport type UDExSearch from \"./Search.js\";\nimport UDExMastheadMenuItem, { UDExItemType } from \"./MastheadMenuItem.js\";\nimport { OVERVIEW } from \"./generated/i18n/i18n-defaults.js\";\nimport AnalyticsName from \"./types/AnalyticsName.js\";\nimport MastheadMobileMenuTemplate from \"./generated/templates/MastheadMobileMenuTemplate.lit.js\";\nimport type UDExMastheadShell from \"./MastheadShell.js\";\nimport translate from \"./utils/translate.js\";\n\n// Styles\nimport MastheadMobileMenuCss from \"./generated/themes/MastheadMobileMenu.css.js\";\n\nconst INDEX_OFFSET_WITH_OVERVIEW = 2;\nconst INDEX_OFFSET_WITHOUT_OVERVIEW = 1;\n\ntype UDExMastheadMobileMenuItemClickEventDetail = {\n originalEvent: PointerEvent | KeyboardEvent,\n item: UDExMastheadMenuItem,\n category?: string,\n isMobile: boolean,\n isBack: boolean,\n analyticsName: AnalyticsName,\n analyticsPath: Array<string>,\n sourceNode: HTMLElement,\n}\n\ntype UDExMastheadMobileMenuExploreClickEventDetail = {\n originalEvent: PointerEvent | KeyboardEvent,\n analyticsName: AnalyticsName,\n sourceNode: HTMLElement,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-masthead-mobile-menu</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MastheadMobileMenu.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-mobile-menu\",\n renderer: litRender,\n styles: MastheadMobileMenuCss,\n template: MastheadMobileMenuTemplate,\n dependencies: [UDExMastheadMenuItem],\n})\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n * @param {PointerEvent | KeyboardEvent} originalEvent The original event object\n * @param {UDExMastheadMenuItem} item The clicked item\n * @param {string} [category] The category of the clicked item\n * @param {boolean} isMobile Indicates whether the click happened in mobile menu\n * @param {boolean} isBack Indicates whether the clicked item is a back button\n * @param {AnalyticsName} analyticsName The analytics name for the clicked item\n * @param {Array<string>} analyticsPath The analytics path for the clicked item\n * @param {HTMLElement} sourceNode The source node of the clicked item\n */\n@event(\"item-click\", { cancelable: true, bubbles: false })\n\n/**\n * Fires when explorer menu button is clicked\n *\n * @allowPreventDefault\n * @public\n * @param {PointerEvent | KeyboardEvent} originalEvent The original event object\n * @param {AnalyticsName} analyticsName The analytics name for the clicked item\n * @param {HTMLElement} sourceNode The source node of the clicked item\n */\n@event(\"explorer-menu-click\", { bubbles: true })\n\nclass UDExMastheadMobileMenu extends UI5Element {\n eventDetails!: {\n \"item-click\": UDExMastheadMobileMenuItemClickEventDetail,\n \"explorer-menu-click\": UDExMastheadMobileMenuExploreClickEventDetail,\n };\n /**\n * Slot for search\n *\n * @public\n */\n @slot({ type: Node })\n search!: Slot<Node>;\n\n /**\n * List of the menu items\n *\n * @default \"[]\"\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n items!: DefaultSlot<UDExMastheadItem>;\n\n /**\n * Slot for explore Sap mobile button\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n exploreSapMobileButton!: Slot<UDExMastheadItem>;\n\n @property({ type: Boolean })\n _showCategories!: boolean;\n\n @property({ type: Boolean })\n _hideExploreSapBtn!: boolean;\n\n @property({ type: Boolean })\n _showCategoryItems!: boolean;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _clickedItem!: UDExMastheadItem;\n _categories!: Array<SubMenuLinkItem>;\n _category!: SubMenuLinkItem;\n _shouldFocusItemByIndex!: boolean;\n _shouldFocusExploreBtn!: boolean;\n _focusedItemIndex!: number;\n _navItem?: UDExMastheadMenuItem;\n _mastheadShell!: UDExMastheadShell;\n\n onAfterRendering() {\n this._mastheadShell = this.mastheadShell;\n this.handleMenuMode();\n this.setTabIndexForItems();\n this.handleFocusItem();\n }\n\n handleMenuItemClick(e: PointerEvent) {\n e.preventDefault();\n e.stopPropagation();\n const item = this.getClickedItem(e.target as UDExMastheadItem);\n this.openCategories(item);\n this.setFocusItemByIndex(0);\n this.fireMobileItemEvent(e);\n }\n\n handleMenuCategoryClick(e: PointerEvent) {\n e.preventDefault();\n e.stopPropagation();\n this.openCategoryItems(e);\n this.setFocusItemByIndex(0);\n this.fireMobileItemEvent(e);\n }\n\n handleExploreSapClick(e: PointerEvent) {\n e.preventDefault();\n this.openExploreSapMenu(e);\n this.setFocusItemByIndex(0);\n this.fireExploreSapMobileButton(e);\n }\n\n handleBackToMenuItems(e: PointerEvent) {\n e.stopPropagation();\n this.showFirstLevelMenu();\n this.setFocusItemByIndex(this.items.indexOf(this._clickedItem));\n this.fireMobileItemEvent(e);\n }\n\n handleBackToCategories(e: PointerEvent) {\n e.stopPropagation();\n this.showCategories();\n this.setFocusItemByIndex(this._category.index);\n this.fireMobileItemEvent(e);\n }\n\n handleExploreBackToMenuItems(e: PointerEvent) {\n e.stopPropagation();\n this.showFirstLevelMenu();\n this.setFocusExploreBtn();\n this.fireMobileItemEvent(e);\n }\n\n handlePressKey(e: KeyboardEvent) {\n const currentItem = e.target as UDExMastheadMenuItem;\n const items = this.navigationItems;\n const isFirstItem = currentItem === items[0];\n const isLastItem = currentItem === items[items.length - 1];\n\n if (isTabNext(e) && !isLastItem) {\n e.preventDefault();\n this.focusNextItem(currentItem);\n }\n if (isTabPrevious(e) && !isFirstItem) {\n e.preventDefault();\n this.focusPreviousItem(currentItem);\n }\n this.handleHomeKey(e);\n this.handleEndKey(e);\n }\n\n focusNextItem(currentItem: UDExMastheadMenuItem): void {\n const currentIndex = this.getCurrentIndex(currentItem);\n const nextIndex = currentIndex + 1;\n const currentListItem = this.getListItemByIndex(currentIndex);\n let nextItem = this.getListItemByIndex(nextIndex);\n\n if (nextItem.type === UDExItemType.Heading) {\n nextItem = this.getListItemByIndex(nextIndex + 1);\n }\n\n currentListItem._tabIndex = \"-1\";\n nextItem._tabIndex = \"0\";\n nextItem.focus();\n }\n\n focusPreviousItem(currentItem: UDExMastheadMenuItem): void {\n const currentIndex = this.getCurrentIndex(currentItem);\n const previousIndex = currentIndex - 1;\n const currentListItem = this.getListItemByIndex(currentIndex);\n let prevItem = this.getListItemByIndex(previousIndex);\n\n if (prevItem.type === UDExItemType.Heading) {\n prevItem = this.getListItemByIndex(this.navigationItems.length - 1);\n }\n\n currentListItem._tabIndex = \"-1\";\n prevItem._tabIndex = \"0\";\n prevItem.focus();\n }\n\n handleMobileItemEvent(e: PointerEvent) {\n e.stopPropagation();\n this.fireMobileItemEvent(e);\n }\n\n handleMobileCategoryItemEvent(e: PointerEvent) {\n e.stopPropagation();\n this.fireMobileItemEvent(e, this._category.category);\n }\n\n handleMenuMode() {\n if (this.isNoMenuItemsMode && this.hasExploreBtnSlot) {\n this.openCategories(this.exploreItem);\n }\n\n if (this.isSingleMenuMode && !this._hideExploreSapBtn) {\n this.openCategories(this.items[0]);\n }\n }\n\n handleFocusItem() {\n if (this._shouldFocusItemByIndex) {\n this.focusItemByIndex(this._focusedItemIndex);\n }\n\n if (this._shouldFocusExploreBtn) {\n this.focusExploreBtn();\n }\n }\n\n focusItemByIndex(index: number): void {\n this.getListItemByIndex(index)?.focus();\n this._shouldFocusItemByIndex = false;\n }\n\n focusExploreBtn(): void {\n this.exploreBtnMenu.focus();\n this._shouldFocusExploreBtn = false;\n }\n\n handleEndKey(e: KeyboardEvent): void {\n if (isEnd(e)) {\n e.preventDefault();\n const currentIndex = this.getCurrentIndex(e.target as UDExMastheadMenuItem);\n const lastIndex = this.navigationItems.length - 1;\n const currentItem = this.getListItemByIndex(currentIndex);\n const lastItem = this.getListItemByIndex(lastIndex);\n\n currentItem._tabIndex = \"-1\";\n lastItem._tabIndex = \"0\";\n lastItem.focus();\n }\n }\n\n handleHomeKey(e: KeyboardEvent): void {\n if (isHome(e)) {\n e.preventDefault();\n const currentIndex = this.getCurrentIndex(e.target as UDExMastheadMenuItem);\n const currentItem = this.getListItemByIndex(currentIndex);\n const firstItem = this.getListItemByIndex(0);\n const focusedIndex = firstItem.type === UDExItemType.Heading ? 1 : 0;\n\n currentItem._tabIndex = \"-1\";\n this.getListItemByIndex(focusedIndex)._tabIndex = \"0\";\n this.getListItemByIndex(focusedIndex).focus();\n }\n }\n\n openExploreSapMenu(e: Event) {\n const item = this.getClickedItem(e.target as UDExMastheadItem);\n this._hideExploreSapBtn = true;\n this._showCategoryItems = false;\n this.openCategories(item);\n }\n\n openCategories(item: UDExMastheadItem) {\n this._clickedItem = item;\n this._categories = this.getCategories(item.getSubItems());\n this._showCategories = true;\n }\n\n openCategoryItems(e: Event) {\n const item = e.target as UDExMastheadMenuItem;\n const indexOffset = this._clickedItem.href ? INDEX_OFFSET_WITH_OVERVIEW : INDEX_OFFSET_WITHOUT_OVERVIEW;\n const index = Number(item.getAttribute(\"id\"));\n this._category = { ...this._categories[index], index: index + indexOffset };\n this._showCategories = false;\n this._showCategoryItems = true;\n }\n\n showFirstLevelMenu() {\n this._showCategories = false;\n this._showCategoryItems = false;\n this._hideExploreSapBtn = false;\n }\n\n showCategories() {\n this._showCategories = true;\n this._showCategoryItems = false;\n }\n\n fireMobileItemEvent(e: PointerEvent | KeyboardEvent, category?: string) {\n const item = e.target as UDExMastheadMenuItem;\n const isBack = item.hasAttribute(\"is-back\");\n const eventDetail: UDExMastheadMobileMenuItemClickEventDetail = {\n ...(category && { category }),\n item,\n isMobile: true,\n isBack,\n analyticsPath: this.buildAnalyticsPath(item),\n originalEvent: e,\n analyticsName: AnalyticsName.Header,\n sourceNode: item.shadowRoot?.querySelector(\".udex-masthead-menu-item\") as HTMLElement,\n };\n\n this.fireDecoratorEvent(\"item-click\", eventDetail);\n\n if (item.url && this._mastheadShell) {\n this.closeMenu();\n }\n }\n\n fireExploreSapMobileButton(e: PointerEvent | KeyboardEvent) {\n this.fireDecoratorEvent(\"explorer-menu-click\", {\n originalEvent: e,\n analyticsName: AnalyticsName.Header,\n sourceNode: (e.target as HTMLElement).shadowRoot?.querySelector(\".udex-masthead-menu-item\") as HTMLElement,\n });\n }\n\n mobileMenuScrollToTop(): void {\n this.shadowRoot\n ?.querySelector<HTMLElement>(\".udex-masthead-mobile-menu__nav-holder\")\n ?.scrollTo({ top: 0 });\n }\n\n setFocusItemByIndex(index: number) {\n this._shouldFocusItemByIndex = true;\n this._focusedItemIndex = index;\n }\n\n setFocusExploreBtn(): void {\n this._shouldFocusExploreBtn = true;\n }\n\n getClickedItem(el: UDExMastheadItem): UDExMastheadItem {\n const items = [\n ...this.items,\n ...[this.hasExploreBtnSlot ? this.exploreItem : []],\n ] as Array<UDExMastheadItem>;\n return items.find(item => item._id === el.getAttribute(\"id\"))!;\n }\n\n getCategories(items: Array<MenuItem>): Array<SubMenuLinkItem> {\n const categories: Array<SubMenuLinkItem> = [];\n items?.forEach(item => {\n item.subMenuLinkItems.forEach(category => {\n categories.push(category);\n });\n });\n\n return categories;\n }\n\n getCurrentIndex(item: UDExMastheadMenuItem): number {\n return this.navigationItems.indexOf(item);\n }\n\n getListItemByIndex(index: number): UDExMastheadMenuItem {\n return this.navigationItems[index];\n }\n\n setTabIndexForItems(): void {\n this.navigationItems.forEach((item, index) => {\n if (this._focusedItemIndex > 0) {\n item._tabIndex = index === this._focusedItemIndex ? \"0\" : \"-1\";\n return;\n }\n\n const isPrevItemHeading = this.navigationItems[index - 1]?.type === UDExItemType.Heading;\n item._tabIndex = isPrevItemHeading || index === 0 ? \"0\" : \"-1\";\n });\n }\n\n buildAnalyticsPath(item: UDExMastheadMenuItem): Array<string> {\n const category = this.getListItemByIndex(0).label.trim();\n const isFirstLevel = item.hasAttribute(\"first-level\");\n const isSecondLevel = item.hasAttribute(\"second-level\");\n const isThirdLevel = item.hasAttribute(\"third-level\");\n const isBackToCategories = item.hasAttribute(\"is-back-to-categories\");\n const shouldResetPath = item.hasAttribute(\"is-back-to-nav\") || this._hideExploreSapBtn;\n const isExploreMode = !this.showExploreBtn && !!this.items.length;\n const clickedLabel = item.label.trim();\n const analyticsPath: Array<string> = [];\n\n if (shouldResetPath) {\n this._navItem = undefined;\n analyticsPath.length = 0;\n }\n\n if (isFirstLevel) {\n this._navItem = item;\n analyticsPath.push(clickedLabel);\n } else if (isSecondLevel) {\n analyticsPath.push(...(this._navItem ? [category, clickedLabel] : [clickedLabel]));\n } else if (isThirdLevel) {\n analyticsPath.push(...(this._navItem ? [this._navItem.label.trim(), category, clickedLabel] : [category, clickedLabel]));\n } else if (isBackToCategories) {\n if (this._navItem) {\n analyticsPath.push(this._navItem.label.trim());\n }\n }\n\n if (isExploreMode && this.hasExploreBtnSlot) {\n analyticsPath.unshift(this.exploreItem.label);\n }\n\n return analyticsPath;\n }\n\n resetSearch(): void {\n const search = this.search[0] as UDExSearch;\n if (search && search.value) {\n search.value = \"\";\n }\n }\n\n closeMenu(): void {\n this._mastheadShell.closeMobileMenu();\n this._mastheadShell.mobileBtn?.focus();\n }\n\n get mastheadShell(): UDExMastheadShell {\n return document.querySelector<UDExMastheadShell>(\"[udex-masthead-shell]\")!;\n }\n\n get exploreBtnMenu(): UDExMastheadMenuItem {\n return this.shadowRoot!.querySelector<UDExMastheadMenuItem>(\".udex-masthead-mobile-menu__explore-btn\")!;\n }\n\n get navigationItems(): Array<UDExMastheadMenuItem> {\n return Array.from(this.shadowRoot!.querySelectorAll<UDExMastheadMenuItem>(\"ul [udex-masthead-menu-item]\"));\n }\n\n get showNavigation(): boolean {\n return !this._showCategories && !this._showCategoryItems;\n }\n\n get overviewLinkText(): string {\n return translate(UDExMastheadMobileMenu, OVERVIEW);\n }\n\n get exploreItem(): UDExMastheadItem {\n return this.getSlottedNodes<UDExMastheadItem>(\"exploreSapMobileButton\")[0];\n }\n\n get showExploreBtn(): boolean {\n return this.hasExploreBtnSlot && !this._hideExploreSapBtn && !!this.items.length;\n }\n\n get hasExploreBtnSlot(): boolean {\n return !!this.getSlottedNodes(\"exploreSapMobileButton\").length;\n }\n\n get hasSearchSlot(): boolean {\n return !!this.search.length;\n }\n\n get isCategoriesOpen(): boolean {\n return !this._showCategoryItems;\n }\n\n get isSingleMenuMode(): boolean {\n return this.items.length === 1 && this.isCategoriesOpen;\n }\n\n get isNoMenuItemsMode(): boolean {\n return this.items.length === 0 && this.isCategoriesOpen;\n }\n\n get isNotMultipleMode(): boolean {\n return this.isSingleMenuMode || this.isNoMenuItemsMode;\n }\n}\n\nUDExMastheadMobileMenu.define();\n\nexport default UDExMastheadMobileMenu;\nexport type { UDExMastheadMobileMenuItemClickEventDetail, UDExMastheadMobileMenuExploreClickEventDetail };\n"]}
1
+ {"version":3,"file":"MastheadMobileMenu.js","sourceRoot":"","sources":["../src/MastheadMobileMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot, Slot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n isHome, isEnd, isTabNext, isTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { MenuItem, SubMenuLinkItem } from \"./MastheadItem.js\";\nimport type UDExMastheadItem from \"./MastheadItem.js\";\nimport type UDExSearch from \"./Search.js\";\nimport UDExMastheadMenuItem, { UDExItemType } from \"./MastheadMenuItem.js\";\nimport { OVERVIEW } from \"./generated/i18n/i18n-defaults.js\";\nimport AnalyticsName from \"./types/AnalyticsName.js\";\nimport MastheadMobileMenuTemplate from \"./MastheadMobileMenuTemplate.js\";\nimport type UDExMastheadShell from \"./MastheadShell.js\";\nimport translate from \"./utils/translate.js\";\n\n// Styles\nimport MastheadMobileMenuCss from \"./generated/themes/MastheadMobileMenu.css.js\";\n\nconst INDEX_OFFSET_WITH_OVERVIEW = 2;\nconst INDEX_OFFSET_WITHOUT_OVERVIEW = 1;\n\ntype UDExMastheadMobileMenuItemClickEventDetail = {\n originalEvent: PointerEvent | KeyboardEvent,\n item: UDExMastheadMenuItem,\n category?: string,\n isMobile: boolean,\n isBack: boolean,\n analyticsName: AnalyticsName,\n analyticsPath: Array<string>,\n sourceNode: HTMLElement,\n}\n\ntype UDExMastheadMobileMenuExploreClickEventDetail = {\n originalEvent: PointerEvent | KeyboardEvent,\n analyticsName: AnalyticsName,\n sourceNode: HTMLElement,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-masthead-mobile-menu</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MastheadMobileMenu.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-mobile-menu\",\n renderer: jsxRenderer,\n styles: MastheadMobileMenuCss,\n template: MastheadMobileMenuTemplate,\n dependencies: [UDExMastheadMenuItem],\n})\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n * @param {PointerEvent | KeyboardEvent} originalEvent The original event object\n * @param {UDExMastheadMenuItem} item The clicked item\n * @param {string} [category] The category of the clicked item\n * @param {boolean} isMobile Indicates whether the click happened in mobile menu\n * @param {boolean} isBack Indicates whether the clicked item is a back button\n * @param {AnalyticsName} analyticsName The analytics name for the clicked item\n * @param {Array<string>} analyticsPath The analytics path for the clicked item\n * @param {HTMLElement} sourceNode The source node of the clicked item\n */\n@event(\"item-click\", { cancelable: true, bubbles: false })\n\n/**\n * Fires when explorer menu button is clicked\n *\n * @allowPreventDefault\n * @public\n * @param {PointerEvent | KeyboardEvent} originalEvent The original event object\n * @param {AnalyticsName} analyticsName The analytics name for the clicked item\n * @param {HTMLElement} sourceNode The source node of the clicked item\n */\n@event(\"explorer-menu-click\", { bubbles: true })\n\nclass UDExMastheadMobileMenu extends UI5Element {\n eventDetails!: {\n \"item-click\": UDExMastheadMobileMenuItemClickEventDetail,\n \"explorer-menu-click\": UDExMastheadMobileMenuExploreClickEventDetail,\n };\n /**\n * Slot for search\n *\n * @public\n */\n @slot({ type: Node })\n search!: Slot<Node>;\n\n /**\n * List of the menu items\n *\n * @default \"[]\"\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n items!: DefaultSlot<UDExMastheadItem>;\n\n /**\n * Slot for explore Sap mobile button\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n exploreSapMobileButton!: Slot<UDExMastheadItem>;\n\n @property({ type: Boolean })\n _showCategories!: boolean;\n\n @property({ type: Boolean })\n _hideExploreSapBtn!: boolean;\n\n @property({ type: Boolean })\n _showCategoryItems!: boolean;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _clickedItem!: UDExMastheadItem;\n _categories!: Array<SubMenuLinkItem>;\n _category!: SubMenuLinkItem;\n _shouldFocusItemByIndex!: boolean;\n _shouldFocusExploreBtn!: boolean;\n _focusedItemIndex!: number;\n _navItem?: UDExMastheadMenuItem;\n _mastheadShell!: UDExMastheadShell;\n\n onAfterRendering() {\n this._mastheadShell = this.mastheadShell;\n this.handleMenuMode();\n this.setTabIndexForItems();\n this.handleFocusItem();\n }\n\n handleMenuItemClick(e: PointerEvent) {\n e.preventDefault();\n e.stopPropagation();\n const item = this.getClickedItem(e.target as UDExMastheadItem);\n this.openCategories(item);\n this.setFocusItemByIndex(0);\n this.fireMobileItemEvent(e);\n }\n\n handleMenuCategoryClick(e: PointerEvent) {\n e.preventDefault();\n e.stopPropagation();\n this.openCategoryItems(e);\n this.setFocusItemByIndex(0);\n this.fireMobileItemEvent(e);\n }\n\n handleExploreSapClick(e: PointerEvent) {\n e.preventDefault();\n this.openExploreSapMenu(e);\n this.setFocusItemByIndex(0);\n this.fireExploreSapMobileButton(e);\n }\n\n handleBackToMenuItems(e: PointerEvent) {\n e.stopPropagation();\n this.showFirstLevelMenu();\n this.setFocusItemByIndex(this.items.indexOf(this._clickedItem));\n this.fireMobileItemEvent(e);\n }\n\n handleBackToCategories(e: PointerEvent) {\n e.stopPropagation();\n this.showCategories();\n this.setFocusItemByIndex(this._category.index);\n this.fireMobileItemEvent(e);\n }\n\n handleExploreBackToMenuItems(e: PointerEvent) {\n e.stopPropagation();\n this.showFirstLevelMenu();\n this.setFocusExploreBtn();\n this.fireMobileItemEvent(e);\n }\n\n handlePressKey(e: KeyboardEvent) {\n const currentItem = e.target as UDExMastheadMenuItem;\n const items = this.navigationItems;\n const isFirstItem = currentItem === items[0];\n const isLastItem = currentItem === items[items.length - 1];\n\n if (isTabNext(e) && !isLastItem) {\n e.preventDefault();\n this.focusNextItem(currentItem);\n }\n if (isTabPrevious(e) && !isFirstItem) {\n e.preventDefault();\n this.focusPreviousItem(currentItem);\n }\n this.handleHomeKey(e);\n this.handleEndKey(e);\n }\n\n focusNextItem(currentItem: UDExMastheadMenuItem): void {\n const currentIndex = this.getCurrentIndex(currentItem);\n const nextIndex = currentIndex + 1;\n const currentListItem = this.getListItemByIndex(currentIndex);\n let nextItem = this.getListItemByIndex(nextIndex);\n\n if (nextItem.type === UDExItemType.Heading) {\n nextItem = this.getListItemByIndex(nextIndex + 1);\n }\n\n currentListItem._tabIndex = \"-1\";\n nextItem._tabIndex = \"0\";\n nextItem.focus();\n }\n\n focusPreviousItem(currentItem: UDExMastheadMenuItem): void {\n const currentIndex = this.getCurrentIndex(currentItem);\n const previousIndex = currentIndex - 1;\n const currentListItem = this.getListItemByIndex(currentIndex);\n let prevItem = this.getListItemByIndex(previousIndex);\n\n if (prevItem.type === UDExItemType.Heading) {\n prevItem = this.getListItemByIndex(this.navigationItems.length - 1);\n }\n\n currentListItem._tabIndex = \"-1\";\n prevItem._tabIndex = \"0\";\n prevItem.focus();\n }\n\n handleMobileItemEvent(e: PointerEvent) {\n e.stopPropagation();\n this.fireMobileItemEvent(e);\n }\n\n handleMobileCategoryItemEvent(e: PointerEvent) {\n e.stopPropagation();\n this.fireMobileItemEvent(e, this._category.category);\n }\n\n handleMenuMode() {\n if (this.isNoMenuItemsMode && this.hasExploreBtnSlot) {\n this.openCategories(this.exploreItem);\n }\n\n if (this.isSingleMenuMode && !this._hideExploreSapBtn) {\n this.openCategories(this.items[0]);\n }\n }\n\n handleFocusItem() {\n if (this._shouldFocusItemByIndex) {\n this.focusItemByIndex(this._focusedItemIndex);\n }\n\n if (this._shouldFocusExploreBtn) {\n this.focusExploreBtn();\n }\n }\n\n focusItemByIndex(index: number): void {\n this.getListItemByIndex(index)?.focus();\n this._shouldFocusItemByIndex = false;\n }\n\n focusExploreBtn(): void {\n this.exploreBtnMenu.focus();\n this._shouldFocusExploreBtn = false;\n }\n\n handleEndKey(e: KeyboardEvent): void {\n if (isEnd(e)) {\n e.preventDefault();\n const currentIndex = this.getCurrentIndex(e.target as UDExMastheadMenuItem);\n const lastIndex = this.navigationItems.length - 1;\n const currentItem = this.getListItemByIndex(currentIndex);\n const lastItem = this.getListItemByIndex(lastIndex);\n\n currentItem._tabIndex = \"-1\";\n lastItem._tabIndex = \"0\";\n lastItem.focus();\n }\n }\n\n handleHomeKey(e: KeyboardEvent): void {\n if (isHome(e)) {\n e.preventDefault();\n const currentIndex = this.getCurrentIndex(e.target as UDExMastheadMenuItem);\n const currentItem = this.getListItemByIndex(currentIndex);\n const firstItem = this.getListItemByIndex(0);\n const focusedIndex = firstItem.type === UDExItemType.Heading ? 1 : 0;\n\n currentItem._tabIndex = \"-1\";\n this.getListItemByIndex(focusedIndex)._tabIndex = \"0\";\n this.getListItemByIndex(focusedIndex).focus();\n }\n }\n\n openExploreSapMenu(e: Event) {\n const item = this.getClickedItem(e.target as UDExMastheadItem);\n this._hideExploreSapBtn = true;\n this._showCategoryItems = false;\n this.openCategories(item);\n }\n\n openCategories(item: UDExMastheadItem) {\n this._clickedItem = item;\n this._categories = this.getCategories(item.getSubItems());\n this._showCategories = true;\n }\n\n openCategoryItems(e: Event) {\n const item = e.target as UDExMastheadMenuItem;\n const indexOffset = this._clickedItem.href ? INDEX_OFFSET_WITH_OVERVIEW : INDEX_OFFSET_WITHOUT_OVERVIEW;\n const index = Number(item.getAttribute(\"id\"));\n this._category = { ...this._categories[index], index: index + indexOffset };\n this._showCategories = false;\n this._showCategoryItems = true;\n }\n\n showFirstLevelMenu() {\n this._showCategories = false;\n this._showCategoryItems = false;\n this._hideExploreSapBtn = false;\n }\n\n showCategories() {\n this._showCategories = true;\n this._showCategoryItems = false;\n }\n\n fireMobileItemEvent(e: PointerEvent | KeyboardEvent, category?: string) {\n const item = e.target as UDExMastheadMenuItem;\n const isBack = item.hasAttribute(\"is-back\");\n const eventDetail: UDExMastheadMobileMenuItemClickEventDetail = {\n ...(category && { category }),\n item,\n isMobile: true,\n isBack,\n analyticsPath: this.buildAnalyticsPath(item),\n originalEvent: e,\n analyticsName: AnalyticsName.Header,\n sourceNode: item.shadowRoot?.querySelector(\".udex-masthead-menu-item\") as HTMLElement,\n };\n\n this.fireDecoratorEvent(\"item-click\", eventDetail);\n\n if (item.url && this._mastheadShell) {\n this.closeMenu();\n }\n }\n\n fireExploreSapMobileButton(e: PointerEvent | KeyboardEvent) {\n this.fireDecoratorEvent(\"explorer-menu-click\", {\n originalEvent: e,\n analyticsName: AnalyticsName.Header,\n sourceNode: (e.target as HTMLElement).shadowRoot?.querySelector(\".udex-masthead-menu-item\") as HTMLElement,\n });\n }\n\n mobileMenuScrollToTop(): void {\n this.shadowRoot\n ?.querySelector<HTMLElement>(\".udex-masthead-mobile-menu__nav-holder\")\n ?.scrollTo({ top: 0 });\n }\n\n setFocusItemByIndex(index: number) {\n this._shouldFocusItemByIndex = true;\n this._focusedItemIndex = index;\n }\n\n setFocusExploreBtn(): void {\n this._shouldFocusExploreBtn = true;\n }\n\n getClickedItem(el: UDExMastheadItem): UDExMastheadItem {\n const items = [\n ...this.items,\n ...[this.hasExploreBtnSlot ? this.exploreItem : []],\n ] as Array<UDExMastheadItem>;\n return items.find(item => item._id === el.getAttribute(\"id\"))!;\n }\n\n getCategories(items: Array<MenuItem>): Array<SubMenuLinkItem> {\n const categories: Array<SubMenuLinkItem> = [];\n items?.forEach(item => {\n item.subMenuLinkItems.forEach(category => {\n categories.push(category);\n });\n });\n\n return categories;\n }\n\n getCurrentIndex(item: UDExMastheadMenuItem): number {\n return this.navigationItems.indexOf(item);\n }\n\n getListItemByIndex(index: number): UDExMastheadMenuItem {\n return this.navigationItems[index];\n }\n\n setTabIndexForItems(): void {\n this.navigationItems.forEach((item, index) => {\n if (this._focusedItemIndex > 0) {\n item._tabIndex = index === this._focusedItemIndex ? \"0\" : \"-1\";\n return;\n }\n\n const isPrevItemHeading = this.navigationItems[index - 1]?.type === UDExItemType.Heading;\n item._tabIndex = isPrevItemHeading || index === 0 ? \"0\" : \"-1\";\n });\n }\n\n buildAnalyticsPath(item: UDExMastheadMenuItem): Array<string> {\n const category = this.getListItemByIndex(0).label.trim();\n const isFirstLevel = item.hasAttribute(\"first-level\");\n const isSecondLevel = item.hasAttribute(\"second-level\");\n const isThirdLevel = item.hasAttribute(\"third-level\");\n const isBackToCategories = item.hasAttribute(\"is-back-to-categories\");\n const shouldResetPath = item.hasAttribute(\"is-back-to-nav\") || this._hideExploreSapBtn;\n const isExploreMode = !this.showExploreBtn && !!this.items.length;\n const clickedLabel = item.label.trim();\n const analyticsPath: Array<string> = [];\n\n if (shouldResetPath) {\n this._navItem = undefined;\n analyticsPath.length = 0;\n }\n\n if (isFirstLevel) {\n this._navItem = item;\n analyticsPath.push(clickedLabel);\n } else if (isSecondLevel) {\n analyticsPath.push(...(this._navItem ? [category, clickedLabel] : [clickedLabel]));\n } else if (isThirdLevel) {\n analyticsPath.push(...(this._navItem ? [this._navItem.label.trim(), category, clickedLabel] : [category, clickedLabel]));\n } else if (isBackToCategories) {\n if (this._navItem) {\n analyticsPath.push(this._navItem.label.trim());\n }\n }\n\n if (isExploreMode && this.hasExploreBtnSlot) {\n analyticsPath.unshift(this.exploreItem.label);\n }\n\n return analyticsPath;\n }\n\n resetSearch(): void {\n const search = this.search[0] as UDExSearch;\n if (search && search.value) {\n search.value = \"\";\n }\n }\n\n closeMenu(): void {\n this._mastheadShell.closeMobileMenu();\n this._mastheadShell.mobileBtn?.focus();\n }\n\n get mastheadShell(): UDExMastheadShell {\n return document.querySelector<UDExMastheadShell>(\"[udex-masthead-shell]\")!;\n }\n\n get exploreBtnMenu(): UDExMastheadMenuItem {\n return this.shadowRoot!.querySelector<UDExMastheadMenuItem>(\".udex-masthead-mobile-menu__explore-btn\")!;\n }\n\n get navigationItems(): Array<UDExMastheadMenuItem> {\n return Array.from(this.shadowRoot!.querySelectorAll<UDExMastheadMenuItem>(\"ul [udex-masthead-menu-item]\"));\n }\n\n get showNavigation(): boolean {\n return !this._showCategories && !this._showCategoryItems;\n }\n\n get overviewLinkText(): string {\n return translate(UDExMastheadMobileMenu, OVERVIEW);\n }\n\n get exploreItem(): UDExMastheadItem {\n return this.getSlottedNodes<UDExMastheadItem>(\"exploreSapMobileButton\")[0];\n }\n\n get showExploreBtn(): boolean {\n return this.hasExploreBtnSlot && !this._hideExploreSapBtn && !!this.items.length;\n }\n\n get hasExploreBtnSlot(): boolean {\n return !!this.getSlottedNodes(\"exploreSapMobileButton\").length;\n }\n\n get hasSearchSlot(): boolean {\n return !!this.search.length;\n }\n\n get isCategoriesOpen(): boolean {\n return !this._showCategoryItems;\n }\n\n get isSingleMenuMode(): boolean {\n return this.items.length === 1 && this.isCategoriesOpen;\n }\n\n get isNoMenuItemsMode(): boolean {\n return this.items.length === 0 && this.isCategoriesOpen;\n }\n\n get isNotMultipleMode(): boolean {\n return this.isSingleMenuMode || this.isNoMenuItemsMode;\n }\n}\n\nUDExMastheadMobileMenu.define();\n\nexport default UDExMastheadMobileMenu;\nexport type { UDExMastheadMobileMenuItemClickEventDetail, UDExMastheadMobileMenuExploreClickEventDetail };\n"]}
@@ -0,0 +1,2 @@
1
+ import type UDExMastheadMobileMenu from "./MastheadMobileMenu.js";
2
+ export default function MastheadMobileMenuTemplate(this: UDExMastheadMobileMenu): import("@ui5/webcomponents-base").JSX.Element;
@@ -0,0 +1,33 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "@ui5/webcomponents-base/jsx-runtime";
2
+ import UDExMastheadMenuItem from "./MastheadMenuItem.js";
3
+ export default function MastheadMobileMenuTemplate() {
4
+ return (_jsxs("nav", { class: "udex-masthead-mobile-menu", children: [_jsxs("div", { class: "udex-masthead-mobile-menu__nav-holder", children: [this.hasSearchSlot && (_jsx("div", { class: "udex-masthead-mobile-menu__list-search", children: _jsx("slot", { name: "search" }) })), _jsxs("ul", { class: "udex-masthead-mobile-menu__list", role: "menu", onKeyDown: this.handlePressKey, children: [this.showNavigation && navItems.call(this), this._showCategories && (_jsxs(_Fragment, { children: [_jsx("li", { class: "udex-masthead-mobile-menu__list-item", role: "none", children: this._hideExploreSapBtn ? (_jsx(UDExMastheadMenuItem, { class: "udex-masthead-mobile-menu__back-item", part: "menu-item", type: "Button", onClick: this.handleExploreBackToMenuItems, label: this._clickedItem.innerText, "has-border": true, "icon-start": true, "is-back": "", "is-explore-back": "" })) : this.isNotMultipleMode ? (_jsx(UDExMastheadMenuItem, { class: "udex-masthead-mobile-menu__heading", part: "menu-item", type: "Heading", label: this._clickedItem.innerText, "has-border": true })) : (_jsx(UDExMastheadMenuItem, { class: "udex-masthead-mobile-menu__back-item", part: "menu-item", "aria-haspopup": "true", type: "Button", onClick: this.handleBackToMenuItems, label: this._clickedItem.innerText, "has-border": true, "icon-start": true, "is-back": "", "is-back-to-nav": "" })) }), categories.call(this)] })), this._showCategoryItems && (_jsxs(_Fragment, { children: [_jsx("li", { class: "udex-masthead-mobile-menu__list-item", role: "none", children: _jsx(UDExMastheadMenuItem, { class: "udex-masthead-mobile-menu__back-item", part: "menu-item", type: "Button", "aria-haspopup": "true", onClick: this.handleBackToCategories, label: this._category.category, "has-border": true, "icon-start": true, "is-back": "", "is-back-to-categories": "" }) }), categoryItems.call(this)] }))] })] }), this.showExploreBtn && (_jsx(UDExMastheadMenuItem, { class: "udex-masthead-mobile-menu__explore-btn", part: "menu-item", type: "Button", "aria-haspopup": "true", id: this.exploreItem._id, onClick: this.handleExploreSapClick, "icon-end": true, label: this.exploreItem.innerText, "accessible-role-text": "button",
5
+ "first-level-btn": "",
6
+ "first-level": "",
7
+ "is-explore": "" }))] }));
8
+ }
9
+ function navItems() {
10
+ return this.items.map((item, index) => (_jsx("li", { class: "udex-masthead-mobile-menu__list-item", role: "none", children: item.subItems ? (_jsx(UDExMastheadMenuItem, { part: "menu-item", type: "Button", "aria-haspopup": "true", onClick: this.handleMenuItemClick, label: item.innerText, id: item._id, "has-border": true, "icon-end": true, "first-level-btn": "", "first-level": "" })) : (_jsx(UDExMastheadMenuItem, { part: "menu-item", onClick: this.handleMobileItemEvent, url: item.href, label: item.innerText, target: item.target, "has-border": true, "first-level": "" })) }, index)));
11
+ }
12
+ function categories() {
13
+ return (_jsxs(_Fragment, { children: [this._clickedItem.href && (_jsx("li", { class: "udex-masthead-mobile-menu__list-item", role: "none", children: _jsx(UDExMastheadMenuItem, { part: "menu-item", url: this._clickedItem.href, label: this.overviewLinkText, onClick: this.handleMobileItemEvent, "has-border": true, "second-level": "" }) })), this._categories.map((category, index) => categoryEntry.call(this, category, index))] }));
14
+ }
15
+ function categoryEntry(category, index) {
16
+ if (category.items.length) {
17
+ if (category.category) {
18
+ return (_jsx("li", { class: "udex-masthead-mobile-menu__list-item", role: "none", children: _jsx(UDExMastheadMenuItem, { part: "menu-item", onClick: this.handleMenuCategoryClick, id: `${index}`, label: category.category, "aria-haspopup": "true", type: "Button", "has-border": true, "icon-end": true, "second-level-btn": "", "second-level": "" }) }, index));
19
+ }
20
+ return category.items.map((item, itemIndex) => (_jsx("li", { class: "udex-masthead-mobile-menu__list-item", role: "none", children: _jsx(UDExMastheadMenuItem, { part: "menu-item", onClick: this.handleMobileItemEvent, url: item.url, label: item.title, "has-border": true, "second-level": "" }) }, `${index}-${itemIndex}`)));
21
+ }
22
+ return (_jsx("li", { class: "udex-masthead-mobile-menu__list-item", role: "none", children: category.url ? (_jsx(UDExMastheadMenuItem, { id: `${index}`, onClick: this.handleMobileItemEvent, label: category.category, url: category.url, part: "menu-item", type: "Link", "has-border": true, "second-level": "" })) : (_jsx(UDExMastheadMenuItem, { id: `${index}`, onClick: this.handleMobileItemEvent, label: category.category, part: "menu-item", type: "Button", "has-border": true, "second-level": "" })) }, index));
23
+ }
24
+ function categoryItems() {
25
+ return (_jsxs(_Fragment, { children: [this._category.url && (_jsx("li", { class: "udex-masthead-mobile-menu__list-item", role: "none", children: _jsx(UDExMastheadMenuItem, { part: "menu-item", onClick: this.handleMobileCategoryItemEvent, url: this._category.url, label: this.overviewLinkText, "has-border": true, "third-level": "" }) })), this._category.items.map((item, index) => categoryItemEntry.call(this, item, index))] }));
26
+ }
27
+ function categoryItemEntry(item, index) {
28
+ if (item.subItems) {
29
+ return (_jsxs("li", { class: "udex-masthead-mobile-menu__list-item", role: "none", children: [item.url ? (_jsx(UDExMastheadMenuItem, { class: "udex-masthead-mobile-menu__sub-category", part: "menu-item", onClick: this.handleMobileCategoryItemEvent, label: item.title, url: item.url, "third-level": "" })) : (_jsx("span", { class: "udex-masthead-mobile-menu__sub-category", children: item.title })), _jsx("ul", { class: "udex-masthead-mobile-menu__sub-list", "aria-label": item.title, children: item.subItems.map((subItem, subIndex) => (subItem.url ? (_jsx("li", { class: "udex-masthead-mobile-menu__list-item", role: "none", children: _jsx(UDExMastheadMenuItem, { part: "menu-item", onClick: this.handleMobileCategoryItemEvent, label: subItem.title, url: subItem.url, "third-level": "" }) }, `${index}-${subIndex}`)) : undefined)) })] }, index));
30
+ }
31
+ return item.url ? (_jsx("li", { class: "udex-masthead-mobile-menu__list-item", role: "none", children: _jsx(UDExMastheadMenuItem, { part: "menu-item", onClick: this.handleMobileCategoryItemEvent, label: item.title, url: item.url, "has-border": true, "third-level": "" }) }, index)) : undefined;
32
+ }
33
+ //# sourceMappingURL=MastheadMobileMenuTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MastheadMobileMenuTemplate.js","sourceRoot":"","sources":["../src/MastheadMobileMenuTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import UDExMastheadMenuItem from \"./MastheadMenuItem.js\";\nimport type UDExMastheadMobileMenu from \"./MastheadMobileMenu.js\";\nimport type { CategoryItem, SubMenuLinkItem } from \"./MastheadItem.js\";\n\nexport default function MastheadMobileMenuTemplate(this: UDExMastheadMobileMenu) {\n return (\n <nav class=\"udex-masthead-mobile-menu\">\n <div class=\"udex-masthead-mobile-menu__nav-holder\">\n {this.hasSearchSlot && (\n <div class=\"udex-masthead-mobile-menu__list-search\">\n <slot name=\"search\"></slot>\n </div>\n )}\n <ul class=\"udex-masthead-mobile-menu__list\" role=\"menu\" onKeyDown={this.handlePressKey}>\n {this.showNavigation && navItems.call(this)}\n {this._showCategories && (\n <>\n <li class=\"udex-masthead-mobile-menu__list-item\" role=\"none\">\n {this._hideExploreSapBtn ? (\n <UDExMastheadMenuItem\n class=\"udex-masthead-mobile-menu__back-item\"\n part=\"menu-item\"\n type=\"Button\"\n onClick={this.handleExploreBackToMenuItems as any}\n label={this._clickedItem.innerText}\n has-border={true}\n icon-start={true}\n {...{ \"is-back\": \"\", \"is-explore-back\": \"\" }}>\n </UDExMastheadMenuItem>\n ) : this.isNotMultipleMode ? (\n <UDExMastheadMenuItem\n class=\"udex-masthead-mobile-menu__heading\"\n part=\"menu-item\"\n type=\"Heading\"\n label={this._clickedItem.innerText}\n has-border={true}>\n </UDExMastheadMenuItem>\n ) : (\n <UDExMastheadMenuItem\n class=\"udex-masthead-mobile-menu__back-item\"\n part=\"menu-item\"\n aria-haspopup=\"true\"\n type=\"Button\"\n onClick={this.handleBackToMenuItems as any}\n label={this._clickedItem.innerText}\n has-border={true}\n icon-start={true}\n {...{ \"is-back\": \"\", \"is-back-to-nav\": \"\" }}>\n </UDExMastheadMenuItem>\n )}\n </li>\n {categories.call(this)}\n </>\n )}\n {this._showCategoryItems && (\n <>\n <li class=\"udex-masthead-mobile-menu__list-item\" role=\"none\">\n <UDExMastheadMenuItem\n class=\"udex-masthead-mobile-menu__back-item\"\n part=\"menu-item\"\n type=\"Button\"\n aria-haspopup=\"true\"\n onClick={this.handleBackToCategories as any}\n label={this._category.category}\n has-border={true}\n icon-start={true}\n {...{ \"is-back\": \"\", \"is-back-to-categories\": \"\" }}>\n </UDExMastheadMenuItem>\n </li>\n {categoryItems.call(this)}\n </>\n )}\n </ul>\n </div>\n {this.showExploreBtn && (\n <UDExMastheadMenuItem\n class=\"udex-masthead-mobile-menu__explore-btn\"\n part=\"menu-item\"\n type=\"Button\"\n aria-haspopup=\"true\"\n id={this.exploreItem._id}\n onClick={this.handleExploreSapClick as any}\n icon-end={true}\n label={this.exploreItem.innerText}\n {...{\n \"accessible-role-text\": \"button\",\n \"first-level-btn\": \"\",\n \"first-level\": \"\",\n \"is-explore\": \"\",\n }}>\n </UDExMastheadMenuItem>\n )}\n </nav>\n );\n}\n\nfunction navItems(this: UDExMastheadMobileMenu) {\n return this.items.map((item, index) => (\n <li class=\"udex-masthead-mobile-menu__list-item\" role=\"none\" key={index}>\n {item.subItems ? (\n <UDExMastheadMenuItem\n part=\"menu-item\"\n type=\"Button\"\n aria-haspopup=\"true\"\n onClick={this.handleMenuItemClick as any}\n label={item.innerText}\n id={item._id}\n has-border={true}\n icon-end={true}\n {...{ \"first-level-btn\": \"\", \"first-level\": \"\" }}>\n </UDExMastheadMenuItem>\n ) : (\n <UDExMastheadMenuItem\n part=\"menu-item\"\n onClick={this.handleMobileItemEvent as any}\n url={item.href}\n label={item.innerText}\n target={item.target}\n has-border={true}\n {...{ \"first-level\": \"\" }}>\n </UDExMastheadMenuItem>\n )}\n </li>\n ));\n}\n\nfunction categories(this: UDExMastheadMobileMenu) {\n return (\n <>\n {this._clickedItem.href && (\n <li class=\"udex-masthead-mobile-menu__list-item\" role=\"none\">\n <UDExMastheadMenuItem\n part=\"menu-item\"\n url={this._clickedItem.href}\n label={this.overviewLinkText}\n onClick={this.handleMobileItemEvent as any}\n has-border={true}\n {...{ \"second-level\": \"\" }}>\n </UDExMastheadMenuItem>\n </li>\n )}\n {this._categories.map((category, index) => categoryEntry.call(this, category, index))}\n </>\n );\n}\n\nfunction categoryEntry(this: UDExMastheadMobileMenu, category: SubMenuLinkItem, index: number) {\n if (category.items.length) {\n if (category.category) {\n return (\n <li class=\"udex-masthead-mobile-menu__list-item\" role=\"none\" key={index}>\n <UDExMastheadMenuItem\n part=\"menu-item\"\n onClick={this.handleMenuCategoryClick as any}\n id={`${index}`}\n label={category.category}\n aria-haspopup=\"true\"\n type=\"Button\"\n has-border={true}\n icon-end={true}\n {...{ \"second-level-btn\": \"\", \"second-level\": \"\" }}>\n </UDExMastheadMenuItem>\n </li>\n );\n }\n\n return category.items.map((item, itemIndex) => (\n <li class=\"udex-masthead-mobile-menu__list-item\" role=\"none\" key={`${index}-${itemIndex}`}>\n <UDExMastheadMenuItem\n part=\"menu-item\"\n onClick={this.handleMobileItemEvent as any}\n url={item.url}\n label={item.title}\n has-border={true}\n {...{ \"second-level\": \"\" }}>\n </UDExMastheadMenuItem>\n </li>\n ));\n }\n\n return (\n <li class=\"udex-masthead-mobile-menu__list-item\" role=\"none\" key={index}>\n {category.url ? (\n <UDExMastheadMenuItem\n id={`${index}`}\n onClick={this.handleMobileItemEvent as any}\n label={category.category}\n url={category.url}\n part=\"menu-item\"\n type=\"Link\"\n has-border={true}\n {...{ \"second-level\": \"\" }}>\n </UDExMastheadMenuItem>\n ) : (\n <UDExMastheadMenuItem\n id={`${index}`}\n onClick={this.handleMobileItemEvent as any}\n label={category.category}\n part=\"menu-item\"\n type=\"Button\"\n has-border={true}\n {...{ \"second-level\": \"\" }}>\n </UDExMastheadMenuItem>\n )}\n </li>\n );\n}\n\nfunction categoryItems(this: UDExMastheadMobileMenu) {\n return (\n <>\n {this._category.url && (\n <li class=\"udex-masthead-mobile-menu__list-item\" role=\"none\">\n <UDExMastheadMenuItem\n part=\"menu-item\"\n onClick={this.handleMobileCategoryItemEvent as any}\n url={this._category.url}\n label={this.overviewLinkText}\n has-border={true}\n {...{ \"third-level\": \"\" }}>\n </UDExMastheadMenuItem>\n </li>\n )}\n {this._category.items.map((item, index) => categoryItemEntry.call(this, item, index))}\n </>\n );\n}\n\nfunction categoryItemEntry(this: UDExMastheadMobileMenu, item: CategoryItem, index: number) {\n if (item.subItems) {\n return (\n <li class=\"udex-masthead-mobile-menu__list-item\" role=\"none\" key={index}>\n {item.url ? (\n <UDExMastheadMenuItem\n class=\"udex-masthead-mobile-menu__sub-category\"\n part=\"menu-item\"\n onClick={this.handleMobileCategoryItemEvent as any}\n label={item.title}\n url={item.url}\n {...{ \"third-level\": \"\" }}>\n </UDExMastheadMenuItem>\n ) : (\n <span class=\"udex-masthead-mobile-menu__sub-category\">{item.title}</span>\n )}\n <ul class=\"udex-masthead-mobile-menu__sub-list\" aria-label={item.title}>\n {item.subItems.map((subItem, subIndex) => (subItem.url ? (\n <li class=\"udex-masthead-mobile-menu__list-item\" role=\"none\" key={`${index}-${subIndex}`}>\n <UDExMastheadMenuItem\n part=\"menu-item\"\n onClick={this.handleMobileCategoryItemEvent as any}\n label={subItem.title}\n url={subItem.url}\n {...{ \"third-level\": \"\" }}>\n </UDExMastheadMenuItem>\n </li>\n ) : undefined))}\n </ul>\n </li>\n );\n }\n\n return item.url ? (\n <li class=\"udex-masthead-mobile-menu__list-item\" role=\"none\" key={index}>\n <UDExMastheadMenuItem\n part=\"menu-item\"\n onClick={this.handleMobileCategoryItemEvent as any}\n label={item.title}\n url={item.url}\n has-border={true}\n {...{ \"third-level\": \"\" }}>\n </UDExMastheadMenuItem>\n </li>\n ) : undefined;\n}\n"]}
@@ -1,14 +1,12 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import type { Slot } from "@ui5/webcomponents-base/dist/UI5Element.js";
3
3
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
4
- import UDExMastheadMenu from "./MastheadMenu.js";
5
- import UDExMastheadMenuItem from "./MastheadMenuItem.js";
6
4
  import AnalyticsName from "./types/AnalyticsName.js";
5
+ import UDExMastheadMenu from "./MastheadMenu.js";
7
6
  import type UDExMastheadShell from "./MastheadShell.js";
8
- import "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
9
- import "@ui5/webcomponents-icons/dist/action.js";
10
7
  import type { LinkClickEventDetail } from "@ui5/webcomponents/dist/Link.js";
11
8
  import type { ResizeObserverCallback } from "@ui5/webcomponents-base/delegate/ResizeHandler.js";
9
+ import type UDExMastheadMenuItem from "./MastheadMenuItem.js";
12
10
  export interface UserData {
13
11
  name?: string;
14
12
  username?: string;
@@ -10,26 +10,19 @@ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement
10
10
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
11
11
  import slot from "@ui5/webcomponents-base/dist/decorators/slot-strict.js";
12
12
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
13
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
13
+ import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
14
14
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
15
15
  import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
16
16
  import { LOGOUT, SWITCH_ACCOUNT, BACK, OTHER_IDENTITIES, ADD_OR_REMOVE_ACCOUNT, } from "./generated/i18n/i18n-defaults.js";
17
17
  import { isEscape } from "@ui5/webcomponents-base/Keys.js";
18
- import UDExMastheadMenu from "./MastheadMenu.js";
19
- import UDExButton from "./Button.js";
20
- import UDExList from "./List.js";
21
- import UDExLink from "./Link.js";
22
- import UDExListItem from "./ListItem.js";
23
- import UDExMastheadMenuItem from "./MastheadMenuItem.js";
24
- import MastheadProfileMenuTemplate from "./generated/templates/MastheadProfileMenuTemplate.lit.js";
18
+ import MastheadProfileMenuTemplate from "./MastheadProfileMenuTemplate.js";
25
19
  import parseArrayFromString from "./utils/parseArrayFromString.js";
20
+ import translate from "./utils/translate.js";
26
21
  import AnalyticsName from "./types/AnalyticsName.js";
27
- import "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
28
- import "@ui5/webcomponents-icons/dist/action.js";
22
+ import UDExMastheadMenu from "./MastheadMenu.js";
29
23
  import UDExStatusBadgeValueState from "./types/StatusBadgeValueState.js";
30
24
  import ResizeHandler from "@ui5/webcomponents-base/delegate/ResizeHandler.js";
31
25
  import { BreakpointUtils } from "./utils/Breakpoints.js";
32
- import translate from "./utils/translate.js";
33
26
  // Styles
34
27
  import MastheadProfileMenuCss from "./generated/themes/MastheadProfileMenu.css.js";
35
28
  /**
@@ -344,17 +337,9 @@ __decorate([
344
337
  UDExMastheadProfileMenu = UDExMastheadProfileMenu_1 = __decorate([
345
338
  customElement({
346
339
  tag: "udex-masthead-profile-menu",
347
- renderer: litRender,
340
+ renderer: jsxRenderer,
348
341
  styles: [UDExMastheadMenu.styles, MastheadProfileMenuCss],
349
342
  template: MastheadProfileMenuTemplate,
350
- dependencies: [
351
- UDExMastheadMenuItem,
352
- UDExMastheadMenu,
353
- UDExListItem,
354
- UDExButton,
355
- UDExList,
356
- UDExLink,
357
- ],
358
343
  })
359
344
  /**
360
345
  * Fired when use click Logout link
@@ -1 +1 @@
1
- {"version":3,"file":"MastheadProfileMenu.js","sourceRoot":"","sources":["../src/MastheadProfileMenu.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AAEpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,wDAAwD,CAAC;AAC1E,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAEnE,OAAO,EACL,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,gBAAgB,EAAE,qBAAqB,GACtE,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,gBAAgB,MAAM,mBAAmB,CAAC;AACjD,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,oBAAoB,MAAM,uBAAuB,CAAC;AACzD,OAAO,2BAA2B,MAAM,0DAA0D,CAAC;AACnG,OAAO,oBAAoB,MAAM,iCAAiC,CAAC;AACnE,OAAO,aAAa,MAAM,0BAA0B,CAAC;AAErD,OAAO,mDAAmD,CAAC;AAC3D,OAAO,yCAAyC,CAAC;AAEjD,OAAO,yBAAyB,MAAM,kCAAkC,CAAC;AAEzE,OAAO,aAAa,MAAM,mDAAmD,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,SAAS;AACT,OAAO,sBAAsB,MAAM,+CAA+C,CAAC;AAwCnF;;;;;;;;;;;;;;;;GAgBG;AAsDH,IAAM,uBAAuB,+BAA7B,MAAM,uBAAwB,SAAQ,UAAU;IA8F9C;QACE,KAAK,EAAE,CAAC;QA3CV;;;;WAIG;QAED,oBAAe,GAAY,KAAK,CAAC;QAEnC;;;;WAIG;QAED,mBAAc,GAAG,KAAK,CAAC;QAyBzB,6BAAwB,GAAG,6CAA6C,CAAC;QACzE,+BAA0B,GAAG,mCAAmC,CAAC;QAI/D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC;QACzC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClF,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IAED,UAAU;QACR,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACtD,IAAI,SAAS,EAAE,EAAE,CAAC;YAChB,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,SAAS;QACP,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC1D,CAAC;IAED,YAAY;QACV,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC;QAEnC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC;QACtD,CAAC;QAED,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;QAC7C,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC;QAChD,IAAI,CAAC,qBAAqB,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;IACrD,CAAC;IAED,qBAAqB,CAAC,CAAe;QACnC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,0BAA0B,CAAC,CAAc;QACvC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,gBAAgB,CAAC,WAAoB,EAAE,WAAuB;QAC5D,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,EAAE,CAAC;YACd,IAAI,WAAW,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACnC,CAAC;iBAAM,IAAI,WAAW,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC/C,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAED,aAAa,CAAC,CAAgB;QAC5B,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACxC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,YAAY,CAAC,2CAA2C,CAAC,CAAC;IACjE,CAAC;IAED,YAAY;QACV,IAAI,CAAC,YAAY,CAAC,uCAAuC,CAAC,CAAC;IAC7D,CAAC;IAED,YAAY,CAAC,QAAgB;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAa,QAAQ,CAAC,CAAC;QACrE,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC;IAED,0BAA0B,CAAC,CAAc;QACvC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;QAChF,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE;YACrE,IAAI,EAAE,QAAS;YACf,aAAa,EAAE,aAAa,CAAC,MAAM;SACpC,CAAC,CAAC;QAEH,IAAI,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,cAAc,EAAE,CAAC;QACrB,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,gCAAgC,CAAC,CAAoC;QACnE,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,6BAA6B,EAAE;YAC7E,aAAa,EAAE,aAAa,CAAC,MAAM;SACpC,CAAC,CAAC;QAEH,IAAI,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,cAAc,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,eAAe,CAAC,CAAe;QAC7B,MAAM,IAAI,GAAG,CAAC,CAAC,MAA8B,CAAC;QAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE;YACrD,IAAI;YACJ,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,CAAgB;YAC9D,aAAa,EAAE,CAAC;YAChB,aAAa,EAAE,aAAa,CAAC,MAAM;SACpC,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,CAAC,CAAC,cAAc,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,iBAAiB,CAAC,CAAc;QAC9B,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;QAEzC,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,EAAE;YAC5C,IAAI;YACJ,aAAa;YACb,aAAa,EAAE,aAAa,CAAC,MAAM;YACnC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,0BAA0B,CAAgB;SACrF,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;QACrB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACzF,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IAED,sBAAsB,CAAC,OAAoB,EAAE,SAAiB;QAC5D,IAAI,OAAO,EAAE,CAAC;YACZ,qBAAqB,CAAC,GAAG,EAAE;gBACzB,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;oBACtC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,aAAa,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,sBAAsB;QACpB,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,sBAAsB,CAAC,SAAS,GAAG,CAAC,CAAC;QAC5C,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IAED,mBAAmB,CAAC,OAAoB;QACtC,OAAO,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IACrD,CAAC;IAED,8BAA8B;QAC5B,IAAI,CAAC,qBAAqB,CACxB,IAAI,CAAC,sBAAsB,EAC3B,IAAI,CAAC,0BAA0B,EAC/B,IAAI,CAAC,uBAAuB,CAC7B,CAAC;IACJ,CAAC;IAED,iCAAiC;QAC/B,IAAI,CAAC,qBAAqB,CACxB,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,wBAAwB,EAC7B,IAAI,CAAC,0BAA0B,CAChC,CAAC;IACJ,CAAC;IAED,qBAAqB,CAAC,EAAe,EAAE,SAAiB,EAAE,YAAoB;QAC5E,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;YACtB,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,aAAa,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,aAAa,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,qBAAqB,CAAC,OAAoB;QACxC,OAAO,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;IACzE,CAAC;IAED,qBAAqB,CAAC,SAAiB;QACrC,OAAO,IAAI,CAAC,UAAU,EAAE,aAAa,CAAc,IAAI,SAAS,EAAE,CAAgB,CAAC;IACrF,CAAC;IAED,SAAS;QACP,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;QACtC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC;IACzC,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,sBAAsB;QACpB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAChD,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,IAAI,0BAA0B;QAC5B,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,uBAAuB;QACzB,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,sBAAsB;QACxB,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,qBAAqB;QACvB,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAClC,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;aACzC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACX,CAAC;IAED,IAAI,aAAa;QACf,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC;IACnC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAa,CAAC;IAC7D,CAAC;IAED,IAAI,WAAW;QACb,OAAO,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtG,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,oBAAoB,CAAuB,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,QAAsB,EAAE,EAAE,CAAC,CAAC;YAClG,GAAG,QAAQ;YACX,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,OAAO;YACvE,cAAc,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;SAC7E,CAAC,CAAC,CAAC;IACN,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IACpC,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC;IAClC,CAAC;IAED,IAAI,SAAS;QACX,MAAM,IAAI,GAAG,4BAA4B,CAAC;QAC1C,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,CAAC;IAED,IAAI,aAAa;QACf,OAAO,QAAQ,CAAC,aAAa,CAAoB,uBAAuB,CAAE,CAAC;IAC7E,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,UAAU,EAAE,aAAa,CAAmB,sBAAsB,CAAC,CAAC;IAClF,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,yBAAuB,EAAE,IAAI,CAAC,CAAC;IAClG,CAAC;IAED,IAAI,aAAa;QACf,OAAO,GAAG,SAAS,CAAC,yBAAuB,EAAE,gBAAgB,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;IACnG,CAAC;IAED,IAAI,sBAAsB;QACxB,OAAO,SAAS,CAAC,yBAAuB,EAAE,qBAAqB,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,SAAS,CAAC,yBAAuB,EAAE,cAAc,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,SAAS,CAAC,yBAAuB,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,uBAAuB;QACzB,OAAO,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,uBAAuB,IAAI,IAAI,CAAC,aAAa,EAAE,gBAAgB,CAAC;IAC9E,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,eAAe,CAAC;IACjD,CAAC;CACF,CAAA;AAtYG;IADD,QAAQ,EAAE;2DACW;AASpB;IADD,QAAQ,EAAE;sDACM;AASf;IADD,QAAQ,EAAE;6DACa;AAStB;IADD,QAAQ,EAAE;0DACU;AAQnB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;8DACF;AAQxB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gEACO;AAQjC;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;+DACtB;AAQvB;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;wDAChB;AAQrB;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;6DACA;AAGrB;IADN,IAAI,CAAC,yBAAyB,CAAC;iDACF;AArF1B,uBAAuB;IArD5B,aAAa,CAAC;QACb,GAAG,EAAE,4BAA4B;QACjC,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,CAAC;QACzD,QAAQ,EAAE,2BAA2B;QACrC,YAAY,EAAE;YACZ,oBAAoB;YACpB,gBAAgB;YAChB,YAAY;YACZ,UAAU;YACV,QAAQ;YACR,QAAQ;SACT;KACF,CAAC;IAEF;;;;;;;OAOG;;IACF,KAAK,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAErD;;;;;;;;OAQG;;IACF,KAAK,CAAC,oBAAoB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAEjE;;;;;OAKG;;IACF,KAAK,CAAC,6BAA6B,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAE1E;;;;;;OAMG;;IACF,KAAK,CAAC,qBAAqB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;GAE5D,uBAAuB,CAqZ5B;AAED,uBAAuB,CAAC,MAAM,EAAE,CAAC;AAEjC,eAAe,uBAAuB,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { Slot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n LOGOUT, SWITCH_ACCOUNT, BACK, OTHER_IDENTITIES, ADD_OR_REMOVE_ACCOUNT,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport { isEscape } from \"@ui5/webcomponents-base/Keys.js\";\nimport UDExMastheadMenu from \"./MastheadMenu.js\";\nimport UDExButton from \"./Button.js\";\nimport UDExList from \"./List.js\";\nimport UDExLink from \"./Link.js\";\nimport UDExListItem from \"./ListItem.js\";\nimport UDExMastheadMenuItem from \"./MastheadMenuItem.js\";\nimport MastheadProfileMenuTemplate from \"./generated/templates/MastheadProfileMenuTemplate.lit.js\";\nimport parseArrayFromString from \"./utils/parseArrayFromString.js\";\nimport AnalyticsName from \"./types/AnalyticsName.js\";\nimport type UDExMastheadShell from \"./MastheadShell.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport \"@ui5/webcomponents-icons/dist/action.js\";\nimport type { LinkClickEventDetail } from \"@ui5/webcomponents/dist/Link.js\";\nimport UDExStatusBadgeValueState from \"./types/StatusBadgeValueState.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/delegate/ResizeHandler.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/delegate/ResizeHandler.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\nimport translate from \"./utils/translate.js\";\n\n// Styles\nimport MastheadProfileMenuCss from \"./generated/themes/MastheadProfileMenu.css.js\";\n\nexport interface UserData {\n name?: string,\n username?: string,\n email?: string,\n avatarUrl?: string,\n avatarInitials?: string\n fallbackIcon?: string,\n}\n\nexport interface UserIdentity {\n avatarUrl: string,\n email: string,\n name: string,\n idsUser: string,\n isLogged: boolean,\n}\n\nexport interface ExtendedUserIdentity extends UserIdentity {\n supportingText: string;\n statusBadge: string;\n}\n\ntype UDExMastheadProfileMenuIdentityClickEventDetail = {\n item: ExtendedUserIdentity;\n analyticsName: AnalyticsName,\n};\n\ntype UDExMastheadProfileMenuItemClickEventDetail = {\n item: UDExMastheadMenuItem,\n originalEvent: PointerEvent,\n analyticsName: AnalyticsName,\n sourceNode: HTMLElement,\n}\n\ntype UDExMastheadProfileMenuAddOrRemoveClickEventDetail = {\n analyticsName: AnalyticsName,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-masthead-profile-menu</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MastheadProfileMenu.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-profile-menu\",\n renderer: litRender,\n styles: [UDExMastheadMenu.styles, MastheadProfileMenuCss],\n template: MastheadProfileMenuTemplate,\n dependencies: [\n UDExMastheadMenuItem,\n UDExMastheadMenu,\n UDExListItem,\n UDExButton,\n UDExList,\n UDExLink,\n ],\n})\n\n/**\n * Fired when use click Logout link\n * @public\n * @param {UDExMastheadMenuItem} item The clicked logout item\n * @param {HTMLElement} sourceNode The HTML element of the clicked logout item\n * @param {PointerEvent} originalEvent The original event object\n * @param {AnalyticsName} analyticsName The analytics name for the clicked logout item\n */\n@event(\"logout\", { cancelable: true, bubbles: true })\n\n/**\n * Fires when profile menu item is clicked\n *\n * @public\n * @param {UDExMastheadMenuItem} item The clicked profile menu item\n * @param {PointerEvent} originalEvent The original event object\n * @param {AnalyticsName} analyticsName The analytics name for the clicked profile menu item\n * @param {HTMLElement} sourceNode The HTML element of the clicked profile menu item\n */\n@event(\"profile-item-click\", { cancelable: true, bubbles: true })\n\n/**\n * Fired when use click add or remove account button\n *\n * @public\n * @param {AnalyticsName} analyticsName The analytics name for the clicked add or remove account button\n */\n@event(\"add-or-remove-account-click\", { cancelable: true, bubbles: true })\n\n/**\n * Fires when identity item is clicked\n *\n * @public\n * @param {ExtendedUserIdentity} item The clicked identity item\n * @param {AnalyticsName} analyticsName The analytics name for the clicked identity item\n */\n@event(\"identity-item-click\", { cancelable: true, bubbles: true })\n\nclass UDExMastheadProfileMenu extends UI5Element {\n eventDetails!: {\n \"logout\": UDExMastheadProfileMenuItemClickEventDetail,\n \"profile-item-click\": UDExMastheadProfileMenuItemClickEventDetail,\n \"add-or-remove-account-click\": UDExMastheadProfileMenuAddOrRemoveClickEventDetail,\n \"identity-item-click\": UDExMastheadProfileMenuIdentityClickEventDetail,\n };\n\n /**\n * Defines the object of user identities\n *\n * @default \"\"\n * @public\n */\n @property()\n identities!: string;\n\n /**\n * Defines the object of link values\n *\n * @default \"\"\n * @public\n */\n @property()\n links!: string;\n\n /**\n * Defines the object of user profile data\n *\n * @default \"\"\n * @public\n */\n @property()\n loggedInUser!: string;\n\n /**\n * Defines the link for logout\n *\n * @default \"\"\n * @public\n */\n @property()\n logoutUrl!: string;\n\n /**\n * Defines the mobile mode for component\n *\n * @private\n */\n @property({ type: Boolean })\n _isMobileMode!: boolean;\n\n /**\n * Defines the open identities panel state\n *\n * @private\n */\n @property({ type: Boolean })\n _openIdentities: boolean = false;\n\n /**\n * Defines the request render state\n *\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n _requestRender = false;\n\n /**\n * Slot for message strip.\n *\n * @public\n */\n @slot({ type: Node, \"default\": false })\n message!: Slot<Node>;\n\n /**\n * Slot for logout button.\n *\n * @public\n */\n @slot({ type: HTMLElement })\n logoutButton!: Slot<Node>;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _mastheadShell!: UDExMastheadShell;\n _handleResizeBound: ResizeObserverCallback;\n _shouldFocusBackBtn!: boolean;\n _shouldFocusSwitchBtn!: boolean;\n _identitiesListClassName = \"udex-masthead-profile-menu__identities-list\";\n _profileMenuLinksClassName = \"udex-masthead-profile-menu__links\";\n\n constructor() {\n super();\n this._handleResizeBound = this.handleResize.bind(this);\n }\n\n onAfterRendering(): void {\n this._mastheadShell = this.mastheadShell;\n this.updateFocusState(this._shouldFocusBackBtn, this.focusBackBtn.bind(this));\n this.updateFocusState(this._shouldFocusSwitchBtn, this.focusSwitchBtn.bind(this));\n this.setMenuItemsMobileMode();\n this.checkScrollableElements();\n }\n\n onEnterDOM(): void {\n ResizeHandler.register(this, this._handleResizeBound);\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n handleResize(): void {\n this._isMobileMode = this.isMobile;\n\n if (this.profileMenuLinks) {\n this.profileMenuLinks._isMobileMode = this.isMobile;\n }\n\n this.checkScrollableElements();\n }\n\n handleSwitcherClick(): void {\n this._openIdentities = !this._openIdentities;\n this._shouldFocusBackBtn = this._openIdentities;\n this._shouldFocusSwitchBtn = !this._openIdentities;\n }\n\n handleUserLogoutClick(e: PointerEvent): void {\n this.fireLogoutClick(e);\n if (this._isMobileMode) {\n this.closeMenu();\n }\n }\n\n handleProfileMenuItemClick(e: CustomEvent): void {\n this.fireMenuItemClick(e);\n if (this._isMobileMode) {\n this.closeMenu();\n }\n }\n\n updateFocusState(shouldFocus: boolean, focusMethod: () => void): void {\n if (shouldFocus) {\n focusMethod();\n if (focusMethod === this.focusBackBtn) {\n this._shouldFocusBackBtn = false;\n } else if (focusMethod === this.focusSwitchBtn) {\n this._shouldFocusSwitchBtn = false;\n }\n }\n }\n\n handleKeydown(e: KeyboardEvent): void {\n if (isEscape(e) && this._openIdentities) {\n this.closeIdentitiesPanel();\n }\n }\n\n focusSwitchBtn(): void {\n this.focusElement(\".udex-masthead-profile-menu__btn-switcher\");\n }\n\n focusBackBtn(): void {\n this.focusElement(\".udex-masthead-profile-menu__btn-back\");\n }\n\n focusElement(selector: string): void {\n const element = this.shadowRoot?.querySelector<UDExButton>(selector);\n element?.focus();\n }\n\n fireEventIdentityItemClick(e: CustomEvent): void {\n const { item } = e.detail;\n const identity = this.identitiesList.find(({ idsUser }) => idsUser === item.id);\n const eventPrevented = !this.fireDecoratorEvent(\"identity-item-click\", {\n item: identity!,\n analyticsName: AnalyticsName.Header,\n });\n\n if (eventPrevented) {\n e.preventDefault();\n }\n\n if (this._isMobileMode) {\n this.closeMenu();\n }\n }\n\n fireEventAddOrRemoveAccountClick(e: CustomEvent<LinkClickEventDetail>): void {\n const eventPrevented = !this.fireDecoratorEvent(\"add-or-remove-account-click\", {\n analyticsName: AnalyticsName.Header,\n });\n\n if (eventPrevented) {\n e.preventDefault();\n }\n }\n\n fireLogoutClick(e: PointerEvent): void {\n const item = e.target as UDExMastheadMenuItem;\n const executeEvent = this.fireDecoratorEvent(\"logout\", {\n item,\n sourceNode: item.shadowRoot?.querySelector(\"a\") as HTMLElement,\n originalEvent: e,\n analyticsName: AnalyticsName.Header,\n });\n\n if (!executeEvent) {\n e.preventDefault();\n }\n }\n\n fireMenuItemClick(e: CustomEvent): void {\n const { item, originalEvent } = e.detail;\n\n this.fireDecoratorEvent(\"profile-item-click\", {\n item,\n originalEvent,\n analyticsName: AnalyticsName.Header,\n sourceNode: item.shadowRoot.querySelector(\".udex-masthead-menu-item\") as HTMLElement,\n });\n }\n\n checkScrollableElements(): void {\n if (this._openIdentities) {\n this.checkScrollableElement(this.identitiesHTMLElement, this._identitiesListClassName);\n }\n\n if (this.isMobile) {\n this.checkScrollableElement(this.profileMenuHTMLElement, this._profileMenuLinksClassName);\n }\n }\n\n checkScrollableElement(element: HTMLElement, className: string): void {\n if (element) {\n requestAnimationFrame(() => {\n if (this.isScrollableElement(element)) {\n element.classList.add(`${className}_scrollable`);\n }\n });\n }\n }\n\n scrollToTopProfileMenu(): void {\n setTimeout(() => {\n this.profileMenuHTMLElement.scrollTop = 0;\n }, 0);\n }\n\n isScrollableElement(element: HTMLElement): boolean {\n return element.scrollHeight > element.clientHeight;\n }\n\n handleProfileMenuShadowVisible(): void {\n this.toggleScrollableClass(\n this.profileMenuHTMLElement,\n this._profileMenuLinksClassName,\n this.scrollBottomProfileMenu,\n );\n }\n\n handleIdentitiesListShadowVisible(): void {\n this.toggleScrollableClass(\n this.identitiesHTMLElement,\n this._identitiesListClassName,\n this.scrollBottomIdentitiesList,\n );\n }\n\n toggleScrollableClass(el: HTMLElement, className: string, scrollBottom: number): void {\n if (scrollBottom <= 1) {\n el.classList.remove(`${className}_scrollable`);\n } else {\n el.classList.add(`${className}_scrollable`);\n }\n }\n\n calculateScrollBottom(element: HTMLElement): number {\n return element.scrollHeight - element.scrollTop - element.clientHeight;\n }\n\n getElementByClassName(className: string): HTMLElement {\n return this.shadowRoot?.querySelector<HTMLElement>(`.${className}`) as HTMLElement;\n }\n\n closeMenu():void {\n this._mastheadShell.closeMobileMenu();\n this._mastheadShell.mobileBtn?.focus();\n }\n\n closeIdentitiesPanel(): void {\n this._openIdentities = false;\n }\n\n setMenuItemsMobileMode(): void {\n if (this._isMobileMode && this.profileMenuLinks) {\n this.profileMenuLinks._isMobileMode = true;\n }\n }\n\n get scrollBottomIdentitiesList(): number {\n return this.calculateScrollBottom(this.identitiesHTMLElement);\n }\n\n get scrollBottomProfileMenu(): number {\n return this.calculateScrollBottom(this.profileMenuHTMLElement);\n }\n\n get profileMenuHTMLElement(): HTMLElement {\n return this.getElementByClassName(this._profileMenuLinksClassName);\n }\n\n get identitiesHTMLElement(): HTMLElement {\n return this.getElementByClassName(this._identitiesListClassName);\n }\n\n get linksList(): string {\n return this.links ? JSON.stringify([{\n subMenuLinkItems: JSON.parse(this.links),\n }]) : \"\";\n }\n\n get hasIdentities(): boolean {\n return !!this.identities?.length;\n }\n\n get userData(): UserData {\n return parseArrayFromString(this.loggedInUser) as UserData;\n }\n\n get hasUserData(): boolean {\n return typeof this.userData === \"object\" && this.userData !== null && !Array.isArray(this.userData);\n }\n\n get identitiesList(): Array<ExtendedUserIdentity> {\n return parseArrayFromString<ExtendedUserIdentity>(this.identities).map((identity: UserIdentity) => ({\n ...identity,\n statusBadge: identity.isLogged ? \"\" : UDExStatusBadgeValueState.Warning,\n supportingText: [identity.name, identity.idsUser].filter(Boolean).join(\", \"),\n }));\n }\n\n get messageAvailable(): boolean {\n return !!this.message.length;\n }\n\n get hasLogoutButton(): boolean {\n return !!this.logoutButton.length;\n }\n\n get logoutLink(): boolean {\n return !!this.logoutUrl?.length;\n }\n\n get rootClass(): string {\n const root = \"udex-masthead-profile-menu\";\n return this._openIdentities ? `${root} ${root}_switcher` : root;\n }\n\n get mastheadShell(): UDExMastheadShell {\n return document.querySelector<UDExMastheadShell>(\"[udex-masthead-shell]\")!;\n }\n\n get profileMenuLinks(): UDExMastheadMenu | undefined | null {\n return this.shadowRoot?.querySelector<UDExMastheadMenu>(\"[udex-masthead-menu]\");\n }\n\n get btnBackText(): string {\n return this._isMobileMode ? this.switcherAccountText : translate(UDExMastheadProfileMenu, BACK);\n }\n\n get listTitleText(): string {\n return `${translate(UDExMastheadProfileMenu, OTHER_IDENTITIES)} (${this.identitiesList.length})`;\n }\n\n get addOrRemoveAccountText(): string {\n return translate(UDExMastheadProfileMenu, ADD_OR_REMOVE_ACCOUNT);\n }\n\n get switcherAccountText(): string {\n return translate(UDExMastheadProfileMenu, SWITCH_ACCOUNT);\n }\n\n get logoutText(): string {\n return translate(UDExMastheadProfileMenu, LOGOUT);\n }\n\n get isAtMostBreakpointSizeM(): boolean {\n return BreakpointUtils.isAtMost(\"M\");\n }\n\n get isMobile(): boolean {\n return this.isAtMostBreakpointSizeM || this.mastheadShell?.isMobileMenuMode;\n }\n\n get hasActionButton(): boolean {\n return this.logoutLink || this.hasLogoutButton;\n }\n}\n\nUDExMastheadProfileMenu.define();\n\nexport default UDExMastheadProfileMenu;\nexport type { UDExMastheadProfileMenuItemClickEventDetail, UDExMastheadProfileMenuIdentityClickEventDetail, UDExMastheadProfileMenuAddOrRemoveClickEventDetail };\n"]}
1
+ {"version":3,"file":"MastheadProfileMenu.js","sourceRoot":"","sources":["../src/MastheadProfileMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { Slot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n LOGOUT, SWITCH_ACCOUNT, BACK, OTHER_IDENTITIES, ADD_OR_REMOVE_ACCOUNT,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport { isEscape } from \"@ui5/webcomponents-base/Keys.js\";\nimport MastheadProfileMenuTemplate from \"./MastheadProfileMenuTemplate.js\";\nimport parseArrayFromString from \"./utils/parseArrayFromString.js\";\nimport translate from \"./utils/translate.js\";\nimport AnalyticsName from \"./types/AnalyticsName.js\";\nimport UDExMastheadMenu from \"./MastheadMenu.js\";\nimport UDExStatusBadgeValueState from \"./types/StatusBadgeValueState.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/delegate/ResizeHandler.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\nimport type UDExMastheadShell from \"./MastheadShell.js\";\nimport type { LinkClickEventDetail } from \"@ui5/webcomponents/dist/Link.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/delegate/ResizeHandler.js\";\nimport type UDExButton from \"./Button.js\";\nimport type UDExMastheadMenuItem from \"./MastheadMenuItem.js\";\n\n// Styles\nimport MastheadProfileMenuCss from \"./generated/themes/MastheadProfileMenu.css.js\";\n\nexport interface UserData {\n name?: string,\n username?: string,\n email?: string,\n avatarUrl?: string,\n avatarInitials?: string\n fallbackIcon?: string,\n}\n\nexport interface UserIdentity {\n avatarUrl: string,\n email: string,\n name: string,\n idsUser: string,\n isLogged: boolean,\n}\n\nexport interface ExtendedUserIdentity extends UserIdentity {\n supportingText: string;\n statusBadge: string;\n}\n\ntype UDExMastheadProfileMenuIdentityClickEventDetail = {\n item: ExtendedUserIdentity;\n analyticsName: AnalyticsName,\n};\n\ntype UDExMastheadProfileMenuItemClickEventDetail = {\n item: UDExMastheadMenuItem,\n originalEvent: PointerEvent,\n analyticsName: AnalyticsName,\n sourceNode: HTMLElement,\n}\n\ntype UDExMastheadProfileMenuAddOrRemoveClickEventDetail = {\n analyticsName: AnalyticsName,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-masthead-profile-menu</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MastheadProfileMenu.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-profile-menu\",\n renderer: jsxRenderer,\n styles: [UDExMastheadMenu.styles, MastheadProfileMenuCss],\n template: MastheadProfileMenuTemplate,\n})\n\n/**\n * Fired when use click Logout link\n * @public\n * @param {UDExMastheadMenuItem} item The clicked logout item\n * @param {HTMLElement} sourceNode The HTML element of the clicked logout item\n * @param {PointerEvent} originalEvent The original event object\n * @param {AnalyticsName} analyticsName The analytics name for the clicked logout item\n */\n@event(\"logout\", { cancelable: true, bubbles: true })\n\n/**\n * Fires when profile menu item is clicked\n *\n * @public\n * @param {UDExMastheadMenuItem} item The clicked profile menu item\n * @param {PointerEvent} originalEvent The original event object\n * @param {AnalyticsName} analyticsName The analytics name for the clicked profile menu item\n * @param {HTMLElement} sourceNode The HTML element of the clicked profile menu item\n */\n@event(\"profile-item-click\", { cancelable: true, bubbles: true })\n\n/**\n * Fired when use click add or remove account button\n *\n * @public\n * @param {AnalyticsName} analyticsName The analytics name for the clicked add or remove account button\n */\n@event(\"add-or-remove-account-click\", { cancelable: true, bubbles: true })\n\n/**\n * Fires when identity item is clicked\n *\n * @public\n * @param {ExtendedUserIdentity} item The clicked identity item\n * @param {AnalyticsName} analyticsName The analytics name for the clicked identity item\n */\n@event(\"identity-item-click\", { cancelable: true, bubbles: true })\n\nclass UDExMastheadProfileMenu extends UI5Element {\n eventDetails!: {\n \"logout\": UDExMastheadProfileMenuItemClickEventDetail,\n \"profile-item-click\": UDExMastheadProfileMenuItemClickEventDetail,\n \"add-or-remove-account-click\": UDExMastheadProfileMenuAddOrRemoveClickEventDetail,\n \"identity-item-click\": UDExMastheadProfileMenuIdentityClickEventDetail,\n };\n\n /**\n * Defines the object of user identities\n *\n * @default \"\"\n * @public\n */\n @property()\n identities!: string;\n\n /**\n * Defines the object of link values\n *\n * @default \"\"\n * @public\n */\n @property()\n links!: string;\n\n /**\n * Defines the object of user profile data\n *\n * @default \"\"\n * @public\n */\n @property()\n loggedInUser!: string;\n\n /**\n * Defines the link for logout\n *\n * @default \"\"\n * @public\n */\n @property()\n logoutUrl!: string;\n\n /**\n * Defines the mobile mode for component\n *\n * @private\n */\n @property({ type: Boolean })\n _isMobileMode!: boolean;\n\n /**\n * Defines the open identities panel state\n *\n * @private\n */\n @property({ type: Boolean })\n _openIdentities: boolean = false;\n\n /**\n * Defines the request render state\n *\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n _requestRender = false;\n\n /**\n * Slot for message strip.\n *\n * @public\n */\n @slot({ type: Node, \"default\": false })\n message!: Slot<Node>;\n\n /**\n * Slot for logout button.\n *\n * @public\n */\n @slot({ type: HTMLElement })\n logoutButton!: Slot<Node>;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _mastheadShell!: UDExMastheadShell;\n _handleResizeBound: ResizeObserverCallback;\n _shouldFocusBackBtn!: boolean;\n _shouldFocusSwitchBtn!: boolean;\n _identitiesListClassName = \"udex-masthead-profile-menu__identities-list\";\n _profileMenuLinksClassName = \"udex-masthead-profile-menu__links\";\n\n constructor() {\n super();\n this._handleResizeBound = this.handleResize.bind(this);\n }\n\n onAfterRendering(): void {\n this._mastheadShell = this.mastheadShell;\n this.updateFocusState(this._shouldFocusBackBtn, this.focusBackBtn.bind(this));\n this.updateFocusState(this._shouldFocusSwitchBtn, this.focusSwitchBtn.bind(this));\n this.setMenuItemsMobileMode();\n this.checkScrollableElements();\n }\n\n onEnterDOM(): void {\n ResizeHandler.register(this, this._handleResizeBound);\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n handleResize(): void {\n this._isMobileMode = this.isMobile;\n\n if (this.profileMenuLinks) {\n this.profileMenuLinks._isMobileMode = this.isMobile;\n }\n\n this.checkScrollableElements();\n }\n\n handleSwitcherClick(): void {\n this._openIdentities = !this._openIdentities;\n this._shouldFocusBackBtn = this._openIdentities;\n this._shouldFocusSwitchBtn = !this._openIdentities;\n }\n\n handleUserLogoutClick(e: PointerEvent): void {\n this.fireLogoutClick(e);\n if (this._isMobileMode) {\n this.closeMenu();\n }\n }\n\n handleProfileMenuItemClick(e: CustomEvent): void {\n this.fireMenuItemClick(e);\n if (this._isMobileMode) {\n this.closeMenu();\n }\n }\n\n updateFocusState(shouldFocus: boolean, focusMethod: () => void): void {\n if (shouldFocus) {\n focusMethod();\n if (focusMethod === this.focusBackBtn) {\n this._shouldFocusBackBtn = false;\n } else if (focusMethod === this.focusSwitchBtn) {\n this._shouldFocusSwitchBtn = false;\n }\n }\n }\n\n handleKeydown(e: KeyboardEvent): void {\n if (isEscape(e) && this._openIdentities) {\n this.closeIdentitiesPanel();\n }\n }\n\n focusSwitchBtn(): void {\n this.focusElement(\".udex-masthead-profile-menu__btn-switcher\");\n }\n\n focusBackBtn(): void {\n this.focusElement(\".udex-masthead-profile-menu__btn-back\");\n }\n\n focusElement(selector: string): void {\n const element = this.shadowRoot?.querySelector<UDExButton>(selector);\n element?.focus();\n }\n\n fireEventIdentityItemClick(e: CustomEvent): void {\n const { item } = e.detail;\n const identity = this.identitiesList.find(({ idsUser }) => idsUser === item.id);\n const eventPrevented = !this.fireDecoratorEvent(\"identity-item-click\", {\n item: identity!,\n analyticsName: AnalyticsName.Header,\n });\n\n if (eventPrevented) {\n e.preventDefault();\n }\n\n if (this._isMobileMode) {\n this.closeMenu();\n }\n }\n\n fireEventAddOrRemoveAccountClick(e: CustomEvent<LinkClickEventDetail>): void {\n const eventPrevented = !this.fireDecoratorEvent(\"add-or-remove-account-click\", {\n analyticsName: AnalyticsName.Header,\n });\n\n if (eventPrevented) {\n e.preventDefault();\n }\n }\n\n fireLogoutClick(e: PointerEvent): void {\n const item = e.target as UDExMastheadMenuItem;\n const executeEvent = this.fireDecoratorEvent(\"logout\", {\n item,\n sourceNode: item.shadowRoot?.querySelector(\"a\") as HTMLElement,\n originalEvent: e,\n analyticsName: AnalyticsName.Header,\n });\n\n if (!executeEvent) {\n e.preventDefault();\n }\n }\n\n fireMenuItemClick(e: CustomEvent): void {\n const { item, originalEvent } = e.detail;\n\n this.fireDecoratorEvent(\"profile-item-click\", {\n item,\n originalEvent,\n analyticsName: AnalyticsName.Header,\n sourceNode: item.shadowRoot.querySelector(\".udex-masthead-menu-item\") as HTMLElement,\n });\n }\n\n checkScrollableElements(): void {\n if (this._openIdentities) {\n this.checkScrollableElement(this.identitiesHTMLElement, this._identitiesListClassName);\n }\n\n if (this.isMobile) {\n this.checkScrollableElement(this.profileMenuHTMLElement, this._profileMenuLinksClassName);\n }\n }\n\n checkScrollableElement(element: HTMLElement, className: string): void {\n if (element) {\n requestAnimationFrame(() => {\n if (this.isScrollableElement(element)) {\n element.classList.add(`${className}_scrollable`);\n }\n });\n }\n }\n\n scrollToTopProfileMenu(): void {\n setTimeout(() => {\n this.profileMenuHTMLElement.scrollTop = 0;\n }, 0);\n }\n\n isScrollableElement(element: HTMLElement): boolean {\n return element.scrollHeight > element.clientHeight;\n }\n\n handleProfileMenuShadowVisible(): void {\n this.toggleScrollableClass(\n this.profileMenuHTMLElement,\n this._profileMenuLinksClassName,\n this.scrollBottomProfileMenu,\n );\n }\n\n handleIdentitiesListShadowVisible(): void {\n this.toggleScrollableClass(\n this.identitiesHTMLElement,\n this._identitiesListClassName,\n this.scrollBottomIdentitiesList,\n );\n }\n\n toggleScrollableClass(el: HTMLElement, className: string, scrollBottom: number): void {\n if (scrollBottom <= 1) {\n el.classList.remove(`${className}_scrollable`);\n } else {\n el.classList.add(`${className}_scrollable`);\n }\n }\n\n calculateScrollBottom(element: HTMLElement): number {\n return element.scrollHeight - element.scrollTop - element.clientHeight;\n }\n\n getElementByClassName(className: string): HTMLElement {\n return this.shadowRoot?.querySelector<HTMLElement>(`.${className}`) as HTMLElement;\n }\n\n closeMenu():void {\n this._mastheadShell.closeMobileMenu();\n this._mastheadShell.mobileBtn?.focus();\n }\n\n closeIdentitiesPanel(): void {\n this._openIdentities = false;\n }\n\n setMenuItemsMobileMode(): void {\n if (this._isMobileMode && this.profileMenuLinks) {\n this.profileMenuLinks._isMobileMode = true;\n }\n }\n\n get scrollBottomIdentitiesList(): number {\n return this.calculateScrollBottom(this.identitiesHTMLElement);\n }\n\n get scrollBottomProfileMenu(): number {\n return this.calculateScrollBottom(this.profileMenuHTMLElement);\n }\n\n get profileMenuHTMLElement(): HTMLElement {\n return this.getElementByClassName(this._profileMenuLinksClassName);\n }\n\n get identitiesHTMLElement(): HTMLElement {\n return this.getElementByClassName(this._identitiesListClassName);\n }\n\n get linksList(): string {\n return this.links ? JSON.stringify([{\n subMenuLinkItems: JSON.parse(this.links),\n }]) : \"\";\n }\n\n get hasIdentities(): boolean {\n return !!this.identities?.length;\n }\n\n get userData(): UserData {\n return parseArrayFromString(this.loggedInUser) as UserData;\n }\n\n get hasUserData(): boolean {\n return typeof this.userData === \"object\" && this.userData !== null && !Array.isArray(this.userData);\n }\n\n get identitiesList(): Array<ExtendedUserIdentity> {\n return parseArrayFromString<ExtendedUserIdentity>(this.identities).map((identity: UserIdentity) => ({\n ...identity,\n statusBadge: identity.isLogged ? \"\" : UDExStatusBadgeValueState.Warning,\n supportingText: [identity.name, identity.idsUser].filter(Boolean).join(\", \"),\n }));\n }\n\n get messageAvailable(): boolean {\n return !!this.message.length;\n }\n\n get hasLogoutButton(): boolean {\n return !!this.logoutButton.length;\n }\n\n get logoutLink(): boolean {\n return !!this.logoutUrl?.length;\n }\n\n get rootClass(): string {\n const root = \"udex-masthead-profile-menu\";\n return this._openIdentities ? `${root} ${root}_switcher` : root;\n }\n\n get mastheadShell(): UDExMastheadShell {\n return document.querySelector<UDExMastheadShell>(\"[udex-masthead-shell]\")!;\n }\n\n get profileMenuLinks(): UDExMastheadMenu | undefined | null {\n return this.shadowRoot?.querySelector<UDExMastheadMenu>(\"[udex-masthead-menu]\");\n }\n\n get btnBackText(): string {\n return this._isMobileMode ? this.switcherAccountText : translate(UDExMastheadProfileMenu, BACK);\n }\n\n get listTitleText(): string {\n return `${translate(UDExMastheadProfileMenu, OTHER_IDENTITIES)} (${this.identitiesList.length})`;\n }\n\n get addOrRemoveAccountText(): string {\n return translate(UDExMastheadProfileMenu, ADD_OR_REMOVE_ACCOUNT);\n }\n\n get switcherAccountText(): string {\n return translate(UDExMastheadProfileMenu, SWITCH_ACCOUNT);\n }\n\n get logoutText(): string {\n return translate(UDExMastheadProfileMenu, LOGOUT);\n }\n\n get isAtMostBreakpointSizeM(): boolean {\n return BreakpointUtils.isAtMost(\"M\");\n }\n\n get isMobile(): boolean {\n return this.isAtMostBreakpointSizeM || this.mastheadShell?.isMobileMenuMode;\n }\n\n get hasActionButton(): boolean {\n return this.logoutLink || this.hasLogoutButton;\n }\n}\n\nUDExMastheadProfileMenu.define();\n\nexport default UDExMastheadProfileMenu;\nexport type { UDExMastheadProfileMenuItemClickEventDetail, UDExMastheadProfileMenuIdentityClickEventDetail, UDExMastheadProfileMenuAddOrRemoveClickEventDetail };\n"]}
@@ -0,0 +1,2 @@
1
+ import type UDExMastheadProfileMenu from "./MastheadProfileMenu.js";
2
+ export default function MastheadProfileMenuTemplate(this: UDExMastheadProfileMenu): import("@ui5/webcomponents-base").JSX.Element;
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@ui5/webcomponents-base/jsx-runtime";
2
+ import actionIcon from "@ui5/webcomponents-icons/dist/action.js";
3
+ import slimArrowRightIcon from "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
4
+ import UI5LinkDesign from "@ui5/webcomponents/types/LinkDesign.js";
5
+ import UDExAvatar, { UDExAvatarSize } from "./Avatar.js";
6
+ import UDExButton from "./Button.js";
7
+ import UDExLink from "./Link.js";
8
+ import UDExList from "./List.js";
9
+ import UDExListItem from "./ListItem.js";
10
+ import UDExMastheadMenu from "./MastheadMenu.js";
11
+ import UDExMastheadMenuItem from "./MastheadMenuItem.js";
12
+ import UDExButtonSize from "./types/ButtonSize.js";
13
+ import UDExButtonDesign from "./types/ButtonDesign.js";
14
+ import { UDExListMode } from "./types/List.js";
15
+ export default function MastheadProfileMenuTemplate() {
16
+ return (_jsx("div", { onKeyDown: this.handleKeydown, class: this.rootClass, children: this._openIdentities ? accountIdentities.call(this) : accountProfile.call(this) }));
17
+ }
18
+ function accountProfile() {
19
+ return (_jsxs(_Fragment, { children: [this.hasUserData && (_jsxs("div", { class: "udex-masthead-profile-menu__header", children: [_jsx(UDExAvatar, { "aria-hidden": "true", size: UDExAvatarSize.L, initials: this.userData.avatarInitials, "fallback-icon": this.userData.fallbackIcon, children: this.userData.avatarUrl && (_jsx("img", { src: this.userData.avatarUrl, alt: "avatar" })) }), _jsxs("div", { children: [_jsx("p", { class: "udex-profile-menu__account-name", children: this.userData.name }), _jsx("p", { class: "udex-profile-menu__account-email", children: this.userData.email }), this.hasIdentities && (_jsx(UDExButton, { onClick: this.handleSwitcherClick, class: "udex-masthead-profile-menu__btn-switcher", size: UDExButtonSize.Large, "end-icon": slimArrowRightIcon, design: UDExButtonDesign.Invisible, children: this.switcherAccountText }))] })] })), this.messageAvailable && (_jsx("div", { class: "udex-masthead-profile-menu__message", children: _jsx("slot", { name: "message" }) })), _jsx("div", { class: "udex-masthead-profile-menu__content", children: _jsx("div", { class: "udex-masthead-profile-menu__links", onScroll: this.handleProfileMenuShadowVisible, children: _jsx(UDExMastheadMenu, { exportparts: "badge, menu-item", part: "menu", "sub-items": this.linksList, "onui5-menu-item-click": this.handleProfileMenuItemClick, "_scroll-into-view": "Center" }) }) }), this.hasActionButton && (_jsx("div", { class: "udex-masthead-profile-menu__actions", children: this.hasLogoutButton ? (_jsx("div", { class: "udex-masthead-profile-menu__btn", children: _jsx("slot", { name: "logoutButton" }) })) : (_jsx(UDExLink, { "accessible-role": "Link", onClick: this.handleUserLogoutClick, "end-icon": actionIcon, design: UI5LinkDesign.Default, href: this.logoutUrl, children: this.logoutText })) }))] }));
20
+ }
21
+ function accountIdentities() {
22
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { class: "udex-masthead-profile-menu__header-wrap back-btn", children: [_jsx(UDExMastheadMenuItem, { type: "Button", class: "udex-masthead-profile-menu__btn-back", onClick: this.handleSwitcherClick, label: this.btnBackText, "icon-start": true }), _jsx("span", { class: "udex-masthead-profile-menu__switcher-title", children: this.switcherAccountText })] }), _jsx("span", { class: "udex-masthead-profile-menu__identities-list-title", children: this.listTitleText }), _jsx("div", { class: "udex-masthead-profile-menu__identities-list-wrap", children: this.identitiesList.length > 0 && (_jsx(UDExList, { class: "udex-masthead-profile-menu__identities-list", mode: UDExListMode.SingleSelect, "accessible-name": this.listTitleText, onScroll: this.handleIdentitiesListShadowVisible, controlled: true, "_scroll-into-view": "Center", children: this.identitiesList.map((identity, index) => (_jsx(UDExListItem, { id: identity.idsUser, class: "udex-masthead-profile-menu__identities-list-item", "onui5-item-press": this.fireEventIdentityItemClick, "image-badge-state": identity.statusBadge, image: identity.avatarUrl, "image-alt": identity.name, "supporting-text": identity.supportingText, children: identity.email }, index))) })) }), _jsx(UDExButton, { onClick: this.fireEventAddOrRemoveAccountClick, class: "udex-masthead-profile-menu__add-remove-btn", design: UDExButtonDesign.Primary, "end-icon": actionIcon, size: UDExButtonSize.Large, children: this.addOrRemoveAccountText })] }));
23
+ }
24
+ //# sourceMappingURL=MastheadProfileMenuTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MastheadProfileMenuTemplate.js","sourceRoot":"","sources":["../src/MastheadProfileMenuTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import actionIcon from \"@ui5/webcomponents-icons/dist/action.js\";\nimport slimArrowRightIcon from \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport UI5LinkDesign from \"@ui5/webcomponents/types/LinkDesign.js\";\nimport UDExAvatar, { UDExAvatarSize } from \"./Avatar.js\";\nimport UDExButton from \"./Button.js\";\nimport UDExLink from \"./Link.js\";\nimport UDExList from \"./List.js\";\nimport UDExListItem from \"./ListItem.js\";\nimport UDExMastheadMenu from \"./MastheadMenu.js\";\nimport UDExMastheadMenuItem from \"./MastheadMenuItem.js\";\nimport UDExButtonSize from \"./types/ButtonSize.js\";\nimport UDExButtonDesign from \"./types/ButtonDesign.js\";\nimport { UDExListMode } from \"./types/List.js\";\nimport type UDExMastheadProfileMenu from \"./MastheadProfileMenu.js\";\n\nexport default function MastheadProfileMenuTemplate(this: UDExMastheadProfileMenu) {\n return (\n <div onKeyDown={this.handleKeydown} class={this.rootClass}>\n {this._openIdentities ? accountIdentities.call(this) : accountProfile.call(this)}\n </div>\n );\n}\n\nfunction accountProfile(this: UDExMastheadProfileMenu) {\n return (\n <>\n {this.hasUserData && (\n <div class=\"udex-masthead-profile-menu__header\">\n <UDExAvatar\n aria-hidden=\"true\"\n size={UDExAvatarSize.L}\n initials={this.userData.avatarInitials}\n fallback-icon={this.userData.fallbackIcon}>\n {this.userData.avatarUrl && (\n <img src={this.userData.avatarUrl} alt=\"avatar\" />\n )}\n </UDExAvatar>\n <div>\n <p class=\"udex-profile-menu__account-name\">{this.userData.name}</p>\n <p class=\"udex-profile-menu__account-email\">{this.userData.email}</p>\n {this.hasIdentities && (\n <UDExButton\n onClick={this.handleSwitcherClick}\n class=\"udex-masthead-profile-menu__btn-switcher\"\n size={UDExButtonSize.Large}\n end-icon={slimArrowRightIcon}\n design={UDExButtonDesign.Invisible}>\n {this.switcherAccountText}\n </UDExButton>\n )}\n </div>\n </div>\n )}\n {this.messageAvailable && (\n <div class=\"udex-masthead-profile-menu__message\">\n <slot name=\"message\"></slot>\n </div>\n )}\n <div class=\"udex-masthead-profile-menu__content\">\n <div\n class=\"udex-masthead-profile-menu__links\"\n onScroll={this.handleProfileMenuShadowVisible}>\n <UDExMastheadMenu\n exportparts=\"badge, menu-item\"\n part=\"menu\"\n sub-items={this.linksList}\n onui5-menu-item-click={this.handleProfileMenuItemClick}\n {...{ \"_scroll-into-view\": \"Center\" }}>\n </UDExMastheadMenu>\n </div>\n </div>\n {this.hasActionButton && (\n <div class=\"udex-masthead-profile-menu__actions\">\n {this.hasLogoutButton ? (\n <div class=\"udex-masthead-profile-menu__btn\">\n <slot name=\"logoutButton\"></slot>\n </div>\n ) : (\n <UDExLink\n accessible-role=\"Link\"\n onClick={this.handleUserLogoutClick as any}\n end-icon={actionIcon}\n design={UI5LinkDesign.Default}\n href={this.logoutUrl}>\n {this.logoutText}\n </UDExLink>\n )}\n </div>\n )}\n </>\n );\n}\n\nfunction accountIdentities(this: UDExMastheadProfileMenu) {\n return (\n <>\n <div class=\"udex-masthead-profile-menu__header-wrap back-btn\">\n <UDExMastheadMenuItem\n type=\"Button\"\n class=\"udex-masthead-profile-menu__btn-back\"\n onClick={this.handleSwitcherClick}\n label={this.btnBackText}\n icon-start={true}>\n </UDExMastheadMenuItem>\n <span class=\"udex-masthead-profile-menu__switcher-title\">{this.switcherAccountText}</span>\n </div>\n <span class=\"udex-masthead-profile-menu__identities-list-title\">{this.listTitleText}</span>\n <div class=\"udex-masthead-profile-menu__identities-list-wrap\">\n {this.identitiesList.length > 0 && (\n <UDExList\n class=\"udex-masthead-profile-menu__identities-list\"\n mode={UDExListMode.SingleSelect}\n accessible-name={this.listTitleText}\n onScroll={this.handleIdentitiesListShadowVisible}\n controlled={true}\n {...{ \"_scroll-into-view\": \"Center\" }}>\n {this.identitiesList.map((identity, index) => (\n <UDExListItem\n key={index}\n id={identity.idsUser}\n class=\"udex-masthead-profile-menu__identities-list-item\"\n onui5-item-press={this.fireEventIdentityItemClick}\n image-badge-state={identity.statusBadge}\n image={identity.avatarUrl}\n image-alt={identity.name}\n {...{ \"supporting-text\": identity.supportingText }}>\n {identity.email}\n </UDExListItem>\n ))}\n </UDExList>\n )}\n </div>\n <UDExButton\n onClick={this.fireEventAddOrRemoveAccountClick as any}\n class=\"udex-masthead-profile-menu__add-remove-btn\"\n design={UDExButtonDesign.Primary}\n end-icon={actionIcon}\n size={UDExButtonSize.Large}>\n {this.addOrRemoveAccountText}\n </UDExButton>\n </>\n );\n}\n"]}
@@ -11,7 +11,7 @@ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
11
11
  import slot from "@ui5/webcomponents-base/dist/decorators/slot-strict.js";
12
12
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
13
13
  import UI5Icon from "@ui5/webcomponents/dist/Icon.js";
14
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
14
+ import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
15
15
  import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
16
16
  import { isSpace, isEnter, isEscape, } from "@ui5/webcomponents-base/dist/Keys.js";
17
17
  import "@ui5/webcomponents-icons/dist/decline.js";
@@ -22,11 +22,10 @@ import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
22
22
  import { MAIN_LINKS, SEARCH } from "./generated/i18n/i18n-defaults.js";
23
23
  import UDExMastheadItem, { UDExMastheadDropdownItemAction } from "./MastheadItem.js";
24
24
  import UDExMastheadMenu from "./MastheadMenu.js";
25
- import UDExControlButton from "./ControlButton.js";
26
25
  import UDExMastheadMobileMenu from "./MastheadMobileMenu.js";
27
26
  import { BreakpointUtils } from "./utils/Breakpoints.js";
28
27
  import AnalyticsName from "./types/AnalyticsName.js";
29
- import MastheadShellTemplate from "./generated/templates/MastheadShellTemplate.lit.js";
28
+ import MastheadShellTemplate from "./MastheadShellTemplate.js";
30
29
  import translate from "./utils/translate.js";
31
30
  import ensureSearchBackdropStyles from "./utils/searchBackdrop.js";
32
31
  // Styles
@@ -706,12 +705,11 @@ UDExMastheadShell = UDExMastheadShell_1 = __decorate([
706
705
  customElement({
707
706
  tag: "udex-masthead-shell",
708
707
  languageAware: true,
709
- renderer: litRender,
708
+ renderer: jsxRenderer,
710
709
  styles: MastheadShellCss,
711
710
  template: MastheadShellTemplate,
712
711
  dependencies: [
713
712
  UDExMastheadMobileMenu,
714
- UDExControlButton,
715
713
  UDExMastheadItem,
716
714
  UDExMastheadMenu,
717
715
  UI5Icon,