@sapui5/sap.ushell 1.134.0 → 1.135.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 (729) hide show
  1. package/package.json +1 -1
  2. package/src/main/js/sap/ushell/.library +2 -1
  3. package/src/main/js/sap/ushell/AppInfoParameters.js +29 -6
  4. package/src/main/js/sap/ushell/ApplicationType/UrlPostProcessing.js +3 -3
  5. package/src/main/js/sap/ushell/ApplicationType/guiResolution.js +185 -174
  6. package/src/main/js/sap/ushell/ApplicationType/urlTemplateResolution.js +1 -1
  7. package/src/main/js/sap/ushell/ApplicationType/wdaResolution.js +69 -61
  8. package/src/main/js/sap/ushell/EventHub.js +1 -3
  9. package/src/main/js/sap/ushell/Fiori20Adapter.js +1 -1
  10. package/src/main/js/sap/ushell/Fiori20AdapterTest.js +1 -1
  11. package/src/main/js/sap/ushell/NWBCInterface.js +2 -2
  12. package/src/main/js/sap/ushell/SessionHandler.js +3 -3
  13. package/src/main/js/sap/ushell/TechnicalParameters.js +1 -1
  14. package/src/main/js/sap/ushell/URLTemplateProcessor/DefinitionParameterSetBuilder.js +1 -1
  15. package/src/main/js/sap/ushell/URLTemplateProcessor/DependencyGraph.js +1 -1
  16. package/src/main/js/sap/ushell/URLTemplateProcessor/Functions.js +1 -1
  17. package/src/main/js/sap/ushell/URLTemplateProcessor/Resolvers.js +1 -1
  18. package/src/main/js/sap/ushell/URLTemplateProcessor/TemplateParameterParser.js +1 -1
  19. package/src/main/js/sap/ushell/URLTemplateProcessor/utils.js +1 -1
  20. package/src/main/js/sap/ushell/URLTemplateProcessor.js +1 -1
  21. package/src/main/js/sap/ushell/Ui5NativeServiceFactory.js +1 -1
  22. package/src/main/js/sap/ushell/Ui5ServiceFactory.js +1 -1
  23. package/src/main/js/sap/ushell/User.js +1 -1
  24. package/src/main/js/sap/ushell/adapters/cdm/ClientSideTargetResolutionAdapter.js +1 -1
  25. package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +1 -1
  26. package/src/main/js/sap/ushell/adapters/cdm/ConfigurationDefaultsAdapter.js +1 -1
  27. package/src/main/js/sap/ushell/adapters/cdm/ContainerAdapter.js +3 -11
  28. package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +13 -4
  29. package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +1 -1
  30. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationAdapter.js +1 -1
  31. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationV2Adapter.js +1 -1
  32. package/src/main/js/sap/ushell/adapters/cdm/Settings/UserLanguageAndRegion/UserLanguageAndRegion.view.xml +4 -2
  33. package/src/main/js/sap/ushell/adapters/cdm/Ui5ComponentLoaderAdapter.js +1 -1
  34. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/modifyHome.js +1 -1
  35. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readCatalogs.js +1 -1
  36. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readHome.js +1 -1
  37. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/uri.transform.js +1 -1
  38. package/src/main/js/sap/ushell/adapters/cdm/util/AppForInbound.js +1 -1
  39. package/src/main/js/sap/ushell/adapters/cdm/util/cdmSiteUtils.js +1 -1
  40. package/src/main/js/sap/ushell/adapters/cdm/v3/AdapterBase.js +12 -3
  41. package/src/main/js/sap/ushell/adapters/cdm/v3/FlpLaunchPageAdapter.js +1 -1
  42. package/src/main/js/sap/ushell/adapters/cdm/v3/LaunchPageAdapter.js +1 -1
  43. package/src/main/js/sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js +1 -1
  44. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readApplications.js +1 -1
  45. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readCatalogs.js +1 -1
  46. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readHome.js +1 -1
  47. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readPages.js +1 -1
  48. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils.js +1 -1
  49. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations.js +1 -1
  50. package/src/main/js/sap/ushell/adapters/cep/MenuAdapter.js +11 -5
  51. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionAdapter.js +1 -1
  52. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionInternalAdapter.js +1 -1
  53. package/src/main/js/sap/ushell/adapters/cep/SearchCEPAdapter.js +1 -1
  54. package/src/main/js/sap/ushell/adapters/cflp/UserDefaultParameterPersistenceAdapter.js +1 -1
  55. package/src/main/js/sap/ushell/adapters/local/AdapterContainer.js +1 -1
  56. package/src/main/js/sap/ushell/adapters/local/AppStateAdapter.js +1 -1
  57. package/src/main/js/sap/ushell/adapters/local/ClientSideTargetResolutionAdapter.js +1 -1
  58. package/src/main/js/sap/ushell/adapters/local/ContainerAdapter.js +1 -1
  59. package/src/main/js/sap/ushell/adapters/local/FlpLaunchPageAdapter.js +1 -1
  60. package/src/main/js/sap/ushell/adapters/local/LaunchPageAdapter.js +1 -1
  61. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionAdapter.js +1 -1
  62. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionInternalAdapter.js +1 -1
  63. package/src/main/js/sap/ushell/adapters/local/PageBuildingAdapter.js +1 -1
  64. package/src/main/js/sap/ushell/adapters/local/PagePersistenceAdapter.js +1 -1
  65. package/src/main/js/sap/ushell/adapters/local/PersonalizationAdapter.js +1 -1
  66. package/src/main/js/sap/ushell/adapters/local/PersonalizationV2Adapter.js +1 -1
  67. package/src/main/js/sap/ushell/adapters/local/SearchAdapter.js +1 -1
  68. package/src/main/js/sap/ushell/adapters/local/SearchCEPAdapter.js +1 -1
  69. package/src/main/js/sap/ushell/adapters/local/SupportTicketAdapter.js +1 -1
  70. package/src/main/js/sap/ushell/adapters/local/Ui5ComponentLoaderAdapter.js +1 -1
  71. package/src/main/js/sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js +1 -1
  72. package/src/main/js/sap/ushell/adapters/local/UserInfoAdapter.js +1 -1
  73. package/src/main/js/sap/ushell/api/DWS.js +87 -0
  74. package/src/main/js/sap/ushell/api/Inbox.js +20 -4
  75. package/src/main/js/sap/ushell/api/common/ComponentInstantiation.js +36 -36
  76. package/src/main/js/sap/ushell/appIntegration/AppLifeCycle/KeepAliveMode.js +43 -0
  77. package/src/main/js/sap/ushell/appIntegration/AppLifeCycle.js +1667 -0
  78. package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/ApplicationContainer.js +136 -11
  79. package/src/main/js/sap/ushell/appIntegration/ApplicationContainerRenderer.js +54 -0
  80. package/src/main/js/sap/ushell/appIntegration/ApplicationHandle.js +57 -0
  81. package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/IframeApplicationContainer.js +102 -15
  82. package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/IframeApplicationContainerRenderer.js +26 -20
  83. package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/KeepAliveApps.js +1 -1
  84. package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/PostMessageManager/AppruntimeHandler.js +7 -5
  85. package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/PostMessageManager/LifecycleHandler.js +25 -25
  86. package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/PostMessageManager/MessageBrokerHandler.js +1 -1
  87. package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/PostMessageManager/NWBCHandler.js +4 -4
  88. package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/PostMessageManager/ServiceHandler.js +4 -3
  89. package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/PostMessageManager.js +38 -21
  90. package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/PostMessagePluginInterface.js +1 -1
  91. package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/UI5ApplicationContainer.js +31 -8
  92. package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/UI5ApplicationContainerRenderer.js +14 -1
  93. package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/contracts/EmbeddedUI5Handler.js +10 -9
  94. package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/contracts/StatefulContainerV1Handler.js +6 -19
  95. package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/contracts/StatefulContainerV2Handler.js +20 -55
  96. package/src/main/js/sap/ushell/appRuntime/ui5/AppCommunicationMgr.js +1 -1
  97. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntime.js +15 -0
  98. package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/RendererExtensions.js +1 -1
  99. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppConfiguration.js +1 -1
  100. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppLifeCycle.js +1 -1
  101. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppState.js +1 -1
  102. package/src/main/js/sap/ushell/appRuntime/ui5/services/Bookmark.js +1 -1
  103. package/src/main/js/sap/ushell/appRuntime/ui5/services/BookmarkV2.js +1 -1
  104. package/src/main/js/sap/ushell/appRuntime/ui5/services/CommonDataModel.js +1 -1
  105. package/src/main/js/sap/ushell/appRuntime/ui5/services/Container.js +1 -1
  106. package/src/main/js/sap/ushell/appRuntime/ui5/services/CrossApplicationNavigation.js +1 -1
  107. package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension/Item.js +1 -1
  108. package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension.js +1 -1
  109. package/src/main/js/sap/ushell/appRuntime/ui5/services/FlpLaunchPage.js +30 -0
  110. package/src/main/js/sap/ushell/appRuntime/ui5/services/FrameBoundExtension.js +1 -1
  111. package/src/main/js/sap/ushell/appRuntime/ui5/services/LaunchPage.js +1 -1
  112. package/src/main/js/sap/ushell/appRuntime/ui5/services/MessageBroker.js +1 -1
  113. package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolution.js +1 -1
  114. package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolutionInternal.js +1 -1
  115. package/src/main/js/sap/ushell/appRuntime/ui5/services/Navigation.js +1 -1
  116. package/src/main/js/sap/ushell/appRuntime/ui5/services/ReferenceResolver.js +1 -1
  117. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigation.js +1 -1
  118. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigationInternal.js +1 -1
  119. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellUIService.js +1 -1
  120. package/src/main/js/sap/ushell/appRuntime/ui5/services/UserInfo.js +1 -1
  121. package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +1 -1
  122. package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/logger.js +1 -1
  123. package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/state.js +1 -1
  124. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5datetimeformat.js +1 -1
  125. package/src/main/js/sap/ushell/bootstrap/common/common.create.configcontract.core.js +62 -35
  126. package/src/main/js/sap/ushell/bootstrap/sandbox2.js +1 -1
  127. package/src/main/js/sap/ushell/components/HomepageManager.js +1 -0
  128. package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
  129. package/src/main/js/sap/ushell/components/applicationIntegration/AppLifeCycle.js +6 -1684
  130. package/src/main/js/sap/ushell/components/applicationIntegration/Storage.js +1 -7
  131. package/src/main/js/sap/ushell/components/applicationIntegration/application/Application.js +2 -35
  132. package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxHandler.js +1 -1
  133. package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageAPI.js +1 -1
  134. package/src/main/js/sap/ushell/components/applicationIntegration/configuration/AppMeta.js +2 -176
  135. package/src/main/js/sap/ushell/components/applicationIntegration/relatedServices/RelatedServices.js +1 -1
  136. package/src/main/js/sap/ushell/components/applicationIntegrationOld/AppLifeCycle.js +1 -1
  137. package/src/main/js/sap/ushell/components/applicationIntegrationOld/application/Application.js +3 -3
  138. package/src/main/js/sap/ushell/components/applicationIntegrationOld/application/BlueBoxHandler.js +1 -1
  139. package/src/main/js/sap/ushell/components/applicationIntegrationOld/application/PostMessageAPI.js +1 -1
  140. package/src/main/js/sap/ushell/components/applicationIntegrationOld/configuration/AppMeta.js +1 -1
  141. package/src/main/js/sap/ushell/components/applicationIntegrationOld/relatedServices/RelatedServices.js +1 -1
  142. package/src/main/js/sap/ushell/components/container/ApplicationContainer.js +1 -1
  143. package/src/main/js/sap/ushell/components/contentFinder/CatalogService.js +12 -6
  144. package/src/main/js/sap/ushell/components/contentFinder/Component.js +41 -3
  145. package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +103 -38
  146. package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +1 -1
  147. package/src/main/js/sap/ushell/components/contentFinder/dialog/Component.js +1 -1
  148. package/src/main/js/sap/ushell/components/contentFinder/dialog/manifest.json +1 -1
  149. package/src/main/js/sap/ushell/components/contentFinder/manifest.json +1 -1
  150. package/src/main/js/sap/ushell/components/contentFinder/resources/resources.properties +1 -1
  151. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ar.properties +3 -1
  152. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_bg.properties +3 -1
  153. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ca.properties +3 -1
  154. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_cnr.properties +3 -1
  155. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_cs.properties +3 -1
  156. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_cy.properties +3 -1
  157. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_da.properties +3 -1
  158. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_de.properties +3 -1
  159. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_el.properties +3 -1
  160. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_en.properties +3 -1
  161. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_en_GB.properties +3 -1
  162. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_en_US_saprigi.properties +4 -2
  163. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_es.properties +3 -1
  164. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_es_MX.properties +3 -1
  165. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_et.properties +3 -1
  166. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_fi.properties +4 -2
  167. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_fr.properties +4 -2
  168. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_fr_CA.properties +3 -1
  169. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_hi.properties +3 -1
  170. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_hr.properties +3 -1
  171. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_hu.properties +3 -1
  172. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_id.properties +4 -2
  173. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_it.properties +3 -1
  174. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_iw.properties +3 -1
  175. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ja.properties +3 -1
  176. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_kk.properties +3 -1
  177. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ko.properties +3 -1
  178. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_lt.properties +3 -1
  179. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_lv.properties +3 -1
  180. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_mk.properties +3 -1
  181. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ms.properties +3 -1
  182. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_nl.properties +3 -1
  183. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_no.properties +3 -1
  184. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_pl.properties +3 -1
  185. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_pt.properties +3 -1
  186. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_pt_PT.properties +3 -1
  187. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ro.properties +3 -1
  188. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ru.properties +3 -1
  189. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sh.properties +3 -1
  190. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sk.properties +3 -1
  191. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sl.properties +3 -1
  192. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sr.properties +3 -1
  193. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sv.properties +3 -1
  194. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_th.properties +3 -1
  195. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_tr.properties +3 -1
  196. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_uk.properties +3 -1
  197. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_vi.properties +3 -1
  198. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_zh_CN.properties +3 -1
  199. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_zh_TW.properties +3 -1
  200. package/src/main/js/sap/ushell/components/contentFinder/view/AppSearch.view.xml +6 -0
  201. package/src/main/js/sap/ushell/components/contentFinder/view/AppSearchCategoryTree.fragment.xml +2 -2
  202. package/src/main/js/sap/ushell/components/contentFinder/view/AppSearchCategoryTreeTable.fragment.xml +70 -0
  203. package/src/main/js/sap/ushell/components/contentFinderStandalone/Component.js +1 -1
  204. package/src/main/js/sap/ushell/components/contentFinderStandalone/controller/ContentFinderStandalone.controller.js +8 -3
  205. package/src/main/js/sap/ushell/components/contentFinderStandalone/manifest.json +1 -1
  206. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_ar.properties +3 -0
  207. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_bg.properties +3 -0
  208. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_ca.properties +3 -0
  209. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_cnr.properties +3 -0
  210. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_cs.properties +3 -0
  211. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_cy.properties +3 -0
  212. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_da.properties +3 -0
  213. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_de.properties +3 -0
  214. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_el.properties +3 -0
  215. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_en.properties +3 -0
  216. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_en_GB.properties +3 -0
  217. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_en_US_saprigi.properties +3 -0
  218. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_es.properties +3 -0
  219. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_es_MX.properties +3 -0
  220. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_et.properties +3 -0
  221. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_fi.properties +3 -0
  222. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_fr.properties +3 -0
  223. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_fr_CA.properties +3 -0
  224. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_hi.properties +3 -0
  225. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_hr.properties +3 -0
  226. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_hu.properties +3 -0
  227. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_id.properties +3 -0
  228. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_it.properties +3 -0
  229. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_iw.properties +3 -0
  230. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_ja.properties +3 -0
  231. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_kk.properties +3 -0
  232. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_ko.properties +3 -0
  233. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_lt.properties +3 -0
  234. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_lv.properties +3 -0
  235. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_mk.properties +3 -0
  236. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_ms.properties +3 -0
  237. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_nl.properties +3 -0
  238. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_no.properties +3 -0
  239. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_pl.properties +3 -0
  240. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_pt.properties +3 -0
  241. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_pt_PT.properties +3 -0
  242. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_ro.properties +3 -0
  243. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_ru.properties +3 -0
  244. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_sh.properties +3 -0
  245. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_sk.properties +3 -0
  246. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_sl.properties +3 -0
  247. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_sr.properties +3 -0
  248. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_sv.properties +3 -0
  249. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_th.properties +3 -0
  250. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_tr.properties +3 -0
  251. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_uk.properties +3 -0
  252. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_vi.properties +3 -0
  253. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_zh_CN.properties +3 -0
  254. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_zh_TW.properties +3 -0
  255. package/src/main/js/sap/ushell/components/factsheet/Component.js +1 -1
  256. package/src/main/js/sap/ushell/components/homepage/ActionMode.js +1 -1
  257. package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +1 -1
  258. package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +4 -4
  259. package/src/main/js/sap/ushell/components/homepage/DashboardUIActions.js +1 -1
  260. package/src/main/js/sap/ushell/components/homepage/manifest.json +1 -1
  261. package/src/main/js/sap/ushell/components/pages/ActionMode.js +1 -1
  262. package/src/main/js/sap/ushell/components/pages/Component.js +1 -1
  263. package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +1 -1
  264. package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +3 -3
  265. package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
  266. package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +1 -1
  267. package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -1
  268. package/src/main/js/sap/ushell/components/shell/FloatingContainer/manifest.json +1 -1
  269. package/src/main/js/sap/ushell/components/shell/MenuBar/Component.js +9 -8
  270. package/src/main/js/sap/ushell/components/shell/MenuBar/controller/MenuBar.controller.js +0 -1
  271. package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +1 -1
  272. package/src/main/js/sap/ushell/components/shell/MenuBar/view/MenuBarPersonalized.view.xml +25 -0
  273. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/Component.js +10 -21
  274. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenu.controller.js +12 -5
  275. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenuButton.controller.js +1 -1
  276. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/manifest.json +1 -7
  277. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/view/ContextMenu.fragment.xml +6 -4
  278. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/view/NavigationBarMenu.fragment.xml +76 -0
  279. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/view/NavigationBarMenu.view.xml +6 -65
  280. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/view/NavigationBarMenuButton.view.xml +2 -2
  281. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/view/NavigationBarMenuPopover.fragment.xml +6 -65
  282. package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +1 -1
  283. package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +1 -1
  284. package/src/main/js/sap/ushell/components/shell/Search/ESearch.js +15 -2
  285. package/src/main/js/sap/ushell/components/shell/Search/manifest.json +1 -1
  286. package/src/main/js/sap/ushell/components/shell/SearchCEP/Component.js +1 -1
  287. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/FrequentActivityProvider.js +1 -1
  288. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/RecentSearchProvider.js +1 -1
  289. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider.js +1 -1
  290. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchServiceProvider.js +1 -1
  291. package/src/main/js/sap/ushell/components/shell/Settings/Component.js +23 -11
  292. package/src/main/js/sap/ushell/components/shell/Settings/userLanguageRegion/LanguageRegionSelector.controller.js +1 -1
  293. package/src/main/js/sap/ushell/components/shell/ShellBar/Component.js +114 -0
  294. package/src/main/js/sap/ushell/components/shell/ShellBar/controller/ShellBar.controller.js +248 -0
  295. package/src/main/js/sap/ushell/components/shell/ShellBar/manifest.json +48 -0
  296. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources.properties +11 -0
  297. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_en_US_saprigi.properties +5 -0
  298. package/src/main/js/sap/ushell/components/shell/ShellBar/view/ShellBar.view.xml +48 -0
  299. package/src/main/js/sap/ushell/components/shell/SideNavigation/Component.js +74 -51
  300. package/src/main/js/sap/ushell/components/shell/SideNavigation/controller/SideNavigation.controller.js +27 -30
  301. package/src/main/js/sap/ushell/components/shell/SideNavigation/fragment/AllSpaces.fragment.xml +21 -0
  302. package/src/main/js/sap/ushell/components/shell/SideNavigation/fragment/Popover.fragment.xml +6 -1
  303. package/src/main/js/sap/ushell/components/shell/SideNavigation/manifest.json +5 -1
  304. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/AllSpaces.js +56 -5
  305. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/Favorites.js +24 -9
  306. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/GenericNavigationListProvider.js +46 -67
  307. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/MyHome.js +22 -4
  308. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/NavigationHelper.js +3 -2
  309. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/Spaces.js +187 -160
  310. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/SpacesNavigationListProvider.js +27 -11
  311. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources.properties +3 -1
  312. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_ar.properties +3 -1
  313. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_bg.properties +3 -1
  314. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_ca.properties +3 -1
  315. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_cnr.properties +3 -1
  316. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_cs.properties +3 -1
  317. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_cy.properties +3 -1
  318. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_da.properties +3 -1
  319. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_de.properties +3 -1
  320. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_el.properties +3 -1
  321. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_en.properties +3 -1
  322. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_en_GB.properties +3 -1
  323. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_en_US_saprigi.properties +3 -1
  324. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_es.properties +3 -1
  325. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_es_MX.properties +3 -1
  326. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_et.properties +3 -1
  327. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_fi.properties +4 -2
  328. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_fr.properties +3 -1
  329. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_fr_CA.properties +3 -1
  330. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_hi.properties +3 -1
  331. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_hr.properties +3 -1
  332. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_hu.properties +3 -1
  333. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_id.properties +3 -1
  334. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_it.properties +3 -1
  335. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_iw.properties +3 -1
  336. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_ja.properties +3 -1
  337. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_kk.properties +3 -1
  338. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_ko.properties +3 -1
  339. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_lt.properties +3 -1
  340. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_lv.properties +3 -1
  341. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_mk.properties +3 -1
  342. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_ms.properties +3 -1
  343. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_nl.properties +3 -1
  344. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_no.properties +3 -1
  345. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_pl.properties +3 -1
  346. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_pt.properties +3 -1
  347. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_pt_PT.properties +3 -1
  348. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_ro.properties +3 -1
  349. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_ru.properties +3 -1
  350. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_sh.properties +3 -1
  351. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_sk.properties +3 -1
  352. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_sl.properties +3 -1
  353. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_sr.properties +3 -1
  354. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_sv.properties +3 -1
  355. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_th.properties +3 -1
  356. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_tr.properties +3 -1
  357. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_uk.properties +3 -1
  358. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_vi.properties +3 -1
  359. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_zh_CN.properties +3 -1
  360. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_zh_TW.properties +3 -1
  361. package/src/main/js/sap/ushell/components/shell/SideNavigation/view/Main.view.xml +21 -6
  362. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +1 -1
  363. package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +1 -1
  364. package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +1 -1
  365. package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +1 -1
  366. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.accessibility.js +1 -1
  367. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.controller.js +1 -1
  368. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPage.js +1 -1
  369. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageButton.js +1 -1
  370. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageCell.js +1 -1
  371. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumn.js +1 -1
  372. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnResizer.js +1 -1
  373. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRow.js +1 -1
  374. package/src/main/js/sap/ushell/components/workPageBuilder/manifest.json +1 -1
  375. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_fr.properties +1 -1
  376. package/src/main/js/sap/ushell/components/workPageRuntime/Component.js +1 -1
  377. package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +1 -1
  378. package/src/main/js/sap/ushell/components/workPageRuntime/manifest.json +1 -1
  379. package/src/main/js/sap/ushell/designtime/ApplicationContainer.designtime.js +1 -1
  380. package/src/main/js/sap/ushell/library.js +30 -10
  381. package/src/main/js/sap/ushell/navigationMode.js +1 -1
  382. package/src/main/js/sap/ushell/performance/ShellAnalytics.js +1 -1
  383. package/src/main/js/sap/ushell/performance/StatisticalRecord.js +1 -1
  384. package/src/main/js/sap/ushell/plugins/appwarmup/Component.js +1 -1
  385. package/src/main/js/sap/ushell/renderer/NavContainer.js +266 -0
  386. package/src/main/js/sap/ushell/renderer/NavContainerRenderer.js +42 -0
  387. package/src/main/js/sap/ushell/renderer/Renderer.js +129 -112
  388. package/src/main/js/sap/ushell/renderer/RendererRootView.fragment.xml +2 -2
  389. package/src/main/js/sap/ushell/renderer/RendererRootViewFallback.fragment.xml +8 -0
  390. package/src/main/js/sap/ushell/renderer/Shell.controller.js +119 -60
  391. package/src/main/js/sap/ushell/renderer/Shell.view.js +78 -26
  392. package/src/main/js/sap/ushell/renderer/resources/resources.properties +3 -1
  393. package/src/main/js/sap/ushell/renderer/resources/resources_ar.properties +9 -0
  394. package/src/main/js/sap/ushell/renderer/resources/resources_bg.properties +9 -0
  395. package/src/main/js/sap/ushell/renderer/resources/resources_ca.properties +9 -0
  396. package/src/main/js/sap/ushell/renderer/resources/resources_cnr.properties +9 -0
  397. package/src/main/js/sap/ushell/renderer/resources/resources_cs.properties +10 -1
  398. package/src/main/js/sap/ushell/renderer/resources/resources_cy.properties +9 -0
  399. package/src/main/js/sap/ushell/renderer/resources/resources_da.properties +9 -0
  400. package/src/main/js/sap/ushell/renderer/resources/resources_de.properties +9 -0
  401. package/src/main/js/sap/ushell/renderer/resources/resources_el.properties +9 -0
  402. package/src/main/js/sap/ushell/renderer/resources/resources_en.properties +9 -0
  403. package/src/main/js/sap/ushell/renderer/resources/resources_en_GB.properties +9 -0
  404. package/src/main/js/sap/ushell/renderer/resources/resources_en_US_saprigi.properties +9 -0
  405. package/src/main/js/sap/ushell/renderer/resources/resources_es.properties +9 -0
  406. package/src/main/js/sap/ushell/renderer/resources/resources_es_MX.properties +10 -1
  407. package/src/main/js/sap/ushell/renderer/resources/resources_et.properties +9 -0
  408. package/src/main/js/sap/ushell/renderer/resources/resources_fi.properties +9 -0
  409. package/src/main/js/sap/ushell/renderer/resources/resources_fr.properties +11 -2
  410. package/src/main/js/sap/ushell/renderer/resources/resources_fr_CA.properties +14 -5
  411. package/src/main/js/sap/ushell/renderer/resources/resources_hi.properties +9 -0
  412. package/src/main/js/sap/ushell/renderer/resources/resources_hr.properties +42 -33
  413. package/src/main/js/sap/ushell/renderer/resources/resources_hu.properties +9 -0
  414. package/src/main/js/sap/ushell/renderer/resources/resources_id.properties +9 -0
  415. package/src/main/js/sap/ushell/renderer/resources/resources_it.properties +12 -3
  416. package/src/main/js/sap/ushell/renderer/resources/resources_iw.properties +9 -0
  417. package/src/main/js/sap/ushell/renderer/resources/resources_ja.properties +9 -0
  418. package/src/main/js/sap/ushell/renderer/resources/resources_kk.properties +11 -2
  419. package/src/main/js/sap/ushell/renderer/resources/resources_ko.properties +9 -0
  420. package/src/main/js/sap/ushell/renderer/resources/resources_lt.properties +9 -0
  421. package/src/main/js/sap/ushell/renderer/resources/resources_lv.properties +9 -0
  422. package/src/main/js/sap/ushell/renderer/resources/resources_mk.properties +9 -0
  423. package/src/main/js/sap/ushell/renderer/resources/resources_ms.properties +11 -2
  424. package/src/main/js/sap/ushell/renderer/resources/resources_nl.properties +9 -0
  425. package/src/main/js/sap/ushell/renderer/resources/resources_no.properties +9 -0
  426. package/src/main/js/sap/ushell/renderer/resources/resources_pl.properties +9 -0
  427. package/src/main/js/sap/ushell/renderer/resources/resources_pt.properties +9 -0
  428. package/src/main/js/sap/ushell/renderer/resources/resources_pt_PT.properties +9 -0
  429. package/src/main/js/sap/ushell/renderer/resources/resources_ro.properties +9 -0
  430. package/src/main/js/sap/ushell/renderer/resources/resources_ru.properties +11 -2
  431. package/src/main/js/sap/ushell/renderer/resources/resources_sh.properties +9 -0
  432. package/src/main/js/sap/ushell/renderer/resources/resources_sk.properties +9 -0
  433. package/src/main/js/sap/ushell/renderer/resources/resources_sl.properties +9 -0
  434. package/src/main/js/sap/ushell/renderer/resources/resources_sr.properties +9 -0
  435. package/src/main/js/sap/ushell/renderer/resources/resources_sv.properties +9 -0
  436. package/src/main/js/sap/ushell/renderer/resources/resources_th.properties +11 -2
  437. package/src/main/js/sap/ushell/renderer/resources/resources_tr.properties +11 -2
  438. package/src/main/js/sap/ushell/renderer/resources/resources_uk.properties +11 -2
  439. package/src/main/js/sap/ushell/renderer/resources/resources_vi.properties +9 -0
  440. package/src/main/js/sap/ushell/renderer/resources/resources_zh_CN.properties +9 -0
  441. package/src/main/js/sap/ushell/renderer/resources/resources_zh_TW.properties +9 -0
  442. package/src/main/js/sap/ushell/renderer/search/searchComponent/manifest.json +1 -1
  443. package/src/main/js/sap/ushell/renderers/fiori2/Shell.view.js +18 -2
  444. package/src/main/js/sap/ushell/services/AppConfiguration.js +4 -4
  445. package/src/main/js/sap/ushell/services/AppLifeCycle.js +374 -377
  446. package/src/main/js/sap/ushell/services/AppState.js +1 -1
  447. package/src/main/js/sap/ushell/services/Bookmark.js +2 -2
  448. package/src/main/js/sap/ushell/services/BookmarkV2.js +2 -2
  449. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/Formatter.js +1 -1
  450. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/InboundIndex.js +1 -1
  451. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/InboundProvider.js +1 -1
  452. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/PrelaunchOperations.js +1 -1
  453. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/Search.js +1 -1
  454. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/StagedLogger.js +1 -1
  455. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/SystemContext.js +1 -1
  456. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/Utils.js +1 -1
  457. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/VirtualInbounds.js +1 -1
  458. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/XAppStateProcessing.js +1 -1
  459. package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +298 -198
  460. package/src/main/js/sap/ushell/services/CommonDataModel/SiteConverter.js +1 -1
  461. package/src/main/js/sap/ushell/services/CommonDataModel/vizTypeDefaults/VizTypeDefaults.js +1 -1
  462. package/src/main/js/sap/ushell/services/CommonDataModel.js +1 -1
  463. package/src/main/js/sap/ushell/services/Configuration.js +1 -1
  464. package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +1 -1
  465. package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +1 -1
  466. package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +2 -2
  467. package/src/main/js/sap/ushell/services/DarkModeSupport.js +1 -1
  468. package/src/main/js/sap/ushell/services/Extension/Item.js +1 -1
  469. package/src/main/js/sap/ushell/services/Extension.js +1 -1
  470. package/src/main/js/sap/ushell/services/FlpLaunchPage.js +2 -1
  471. package/src/main/js/sap/ushell/services/FrameBoundExtension/FloatingContainer.js +1 -1
  472. package/src/main/js/sap/ushell/services/FrameBoundExtension/Footer.js +1 -1
  473. package/src/main/js/sap/ushell/services/FrameBoundExtension/Item.js +1 -1
  474. package/src/main/js/sap/ushell/services/FrameBoundExtension/SidePane.js +1 -1
  475. package/src/main/js/sap/ushell/services/FrameBoundExtension/ToolArea.js +1 -1
  476. package/src/main/js/sap/ushell/services/FrameBoundExtension/UserSettingsEntry.js +1 -1
  477. package/src/main/js/sap/ushell/services/FrameBoundExtension.js +1 -1
  478. package/src/main/js/sap/ushell/services/LaunchPage.js +98 -7
  479. package/src/main/js/sap/ushell/services/Menu.js +1 -1
  480. package/src/main/js/sap/ushell/services/Message.js +1 -1
  481. package/src/main/js/sap/ushell/services/MessageBroker/MessageBrokerEngine.js +5 -5
  482. package/src/main/js/sap/ushell/services/MessageBroker.js +1 -1
  483. package/src/main/js/sap/ushell/services/MessageInternal.js +1 -1
  484. package/src/main/js/sap/ushell/services/Navigation/compatibility.js +2 -2
  485. package/src/main/js/sap/ushell/services/Navigation/utils.js +1 -1
  486. package/src/main/js/sap/ushell/services/Navigation.js +3 -3
  487. package/src/main/js/sap/ushell/services/NavigationDataProvider.js +12 -11
  488. package/src/main/js/sap/ushell/services/PageBuilding.js +1 -1
  489. package/src/main/js/sap/ushell/services/PagePersistence.js +1 -1
  490. package/src/main/js/sap/ushell/services/PageReferencing.js +1 -1
  491. package/src/main/js/sap/ushell/services/Pages.js +1 -1
  492. package/src/main/js/sap/ushell/services/Personalization.js +1 -1
  493. package/src/main/js/sap/ushell/services/PersonalizationV2.js +1 -1
  494. package/src/main/js/sap/ushell/services/PluginManager/Extensions.js +1 -1
  495. package/src/main/js/sap/ushell/services/PluginManager/HeaderExtensions.js +1 -1
  496. package/src/main/js/sap/ushell/services/PluginManager/MenuExtensions.js +1 -1
  497. package/src/main/js/sap/ushell/services/PluginManager/SimpleExpression.js +1 -1
  498. package/src/main/js/sap/ushell/services/PluginManager.js +81 -63
  499. package/src/main/js/sap/ushell/services/ReferenceResolver.js +1 -1
  500. package/src/main/js/sap/ushell/services/Search.js +1 -1
  501. package/src/main/js/sap/ushell/services/SearchCEP.js +1 -1
  502. package/src/main/js/sap/ushell/services/SearchableContent.js +1 -1
  503. package/src/main/js/sap/ushell/services/ShellNavigation.js +1 -1
  504. package/src/main/js/sap/ushell/services/SmartNavigation.js +1 -1
  505. package/src/main/js/sap/ushell/services/SpaceContent.js +1 -1
  506. package/src/main/js/sap/ushell/services/UITracer.js +1 -1
  507. package/src/main/js/sap/ushell/services/URLShortening.js +1 -1
  508. package/src/main/js/sap/ushell/services/URLTemplate.js +1 -1
  509. package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +687 -272
  510. package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +1 -1
  511. package/src/main/js/sap/ushell/services/UserDefaultParameters.js +1 -1
  512. package/src/main/js/sap/ushell/services/UserInfo.js +1 -1
  513. package/src/main/js/sap/ushell/services/UserRecents.js +1 -1
  514. package/src/main/js/sap/ushell/services/VisualizationDataProvider.js +1 -1
  515. package/src/main/js/sap/ushell/services/VisualizationInstantiation.js +1 -1
  516. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/ContentExtensionAdapterConfig.js +1 -1
  517. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/FeaturedGroupConfig.js +1 -1
  518. package/src/main/js/sap/ushell/services/_CrossApplicationNavigation/utils.js +1 -1
  519. package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +1 -1
  520. package/src/main/js/sap/ushell/state/BackNavigation.js +1 -1
  521. package/src/main/js/sap/ushell/state/ContentDensity.js +213 -0
  522. package/src/main/js/sap/ushell/state/Favicon.js +119 -0
  523. package/src/main/js/sap/ushell/state/StateManager.js +1 -0
  524. package/src/main/js/sap/ushell/state/StrategyFactory/UserActionsStrategy.js +3 -2
  525. package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +1 -1
  526. package/src/main/js/sap/ushell/themes/base/ApplicationContainer.less +3 -2
  527. package/src/main/js/sap/ushell/themes/base/FlexibleColumnLayout.less +10 -0
  528. package/src/main/js/sap/ushell/themes/base/NavContainer.less +6 -0
  529. package/src/main/js/sap/ushell/themes/base/ShellHeader.less +8 -8
  530. package/src/main/js/sap/ushell/themes/base/library.source.less +2 -0
  531. package/src/main/js/sap/ushell/themes/sap_belize_base/ApplicationContainer.less +9 -1
  532. package/src/main/js/sap/ushell/themes/sap_belize_base/NavContainer.less +6 -0
  533. package/src/main/js/sap/ushell/themes/sap_belize_base/library.source.less +1 -0
  534. package/src/main/js/sap/ushell/themes/sap_bluecrystal_base/ApplicationContainer.less +9 -1
  535. package/src/main/js/sap/ushell/themes/sap_bluecrystal_base/NavContainer.less +6 -0
  536. package/src/main/js/sap/ushell/themes/sap_bluecrystal_base/library.source.less +1 -0
  537. package/src/main/js/sap/ushell/themes/sap_hcb/base_ApplicationContainer.less +9 -1
  538. package/src/main/js/sap/ushell/themes/sap_hcb/base_NavContainer.less +6 -0
  539. package/src/main/js/sap/ushell/themes/sap_hcb/base_ShellHeader.less +1 -1
  540. package/src/main/js/sap/ushell/themes/sap_hcb/library.source.less +1 -0
  541. package/src/main/js/sap/ushell/thirdparty/Icons.js +180 -8
  542. package/src/main/js/sap/ushell/thirdparty/MenuItem.js +355 -0
  543. package/src/main/js/sap/ushell/thirdparty/ShellBar.js +1892 -0
  544. package/src/main/js/sap/ushell/thirdparty/ShellBarItem.js +89 -0
  545. package/src/main/js/sap/ushell/thirdparty/ShellBarSpacer.js +40 -0
  546. package/src/main/js/sap/ushell/thirdparty/UserMenu.js +220 -314
  547. package/src/main/js/sap/ushell/thirdparty/UserMenuAccount.js +19 -9
  548. package/src/main/js/sap/ushell/thirdparty/UserMenuItem.js +55 -414
  549. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ar2.js +15 -0
  550. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ar3.js +41 -5
  551. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_bg2.js +16 -1
  552. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_bg3.js +41 -5
  553. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ca2.js +15 -0
  554. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ca3.js +41 -5
  555. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cnr2.js +15 -0
  556. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cnr3.js +41 -5
  557. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cs2.js +15 -0
  558. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cs3.js +44 -8
  559. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cy2.js +15 -0
  560. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cy3.js +41 -5
  561. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_da2.js +15 -0
  562. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_da3.js +43 -7
  563. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_de2.js +16 -1
  564. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_de3.js +41 -5
  565. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_el2.js +15 -0
  566. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_el3.js +41 -5
  567. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en2.js +15 -0
  568. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en3.js +41 -5
  569. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_GB2.js +15 -0
  570. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_GB3.js +41 -5
  571. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_sappsd2.js +15 -0
  572. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_sappsd3.js +41 -5
  573. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saprigi2.js +9 -0
  574. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saprigi3.js +16 -4
  575. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saptrc2.js +15 -0
  576. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saptrc3.js +41 -5
  577. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es2.js +16 -1
  578. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es3.js +41 -5
  579. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es_MX2.js +15 -0
  580. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es_MX3.js +41 -5
  581. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_et2.js +15 -0
  582. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_et3.js +41 -5
  583. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fi2.js +15 -0
  584. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fi3.js +41 -5
  585. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr2.js +20 -5
  586. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr3.js +43 -7
  587. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr_CA2.js +15 -0
  588. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr_CA3.js +41 -5
  589. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hi2.js +15 -0
  590. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hi3.js +41 -5
  591. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hr2.js +21 -6
  592. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hr3.js +42 -6
  593. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hu2.js +15 -0
  594. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hu3.js +41 -5
  595. package/src/main/js/sap/ushell/thirdparty/_dynamics/{messagebundle_in.js → messagebundle_id.js} +2 -2
  596. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_id2.js +665 -0
  597. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_id3.js +551 -0
  598. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_it2.js +33 -18
  599. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_it3.js +76 -40
  600. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_iw2.js +15 -0
  601. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_iw3.js +41 -5
  602. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ja2.js +15 -0
  603. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ja3.js +41 -5
  604. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_kk2.js +15 -0
  605. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_kk3.js +41 -5
  606. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ko2.js +15 -0
  607. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ko3.js +43 -7
  608. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lt2.js +15 -0
  609. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lt3.js +41 -5
  610. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lv2.js +26 -11
  611. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lv3.js +41 -5
  612. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_mk2.js +15 -0
  613. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_mk3.js +43 -7
  614. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ms2.js +17 -2
  615. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ms3.js +42 -6
  616. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_nl2.js +15 -0
  617. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_nl3.js +41 -5
  618. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_no2.js +15 -0
  619. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_no3.js +41 -5
  620. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pl2.js +20 -5
  621. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pl3.js +41 -5
  622. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt2.js +16 -1
  623. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt3.js +41 -5
  624. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt_PT2.js +15 -0
  625. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt_PT3.js +41 -5
  626. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ro2.js +16 -1
  627. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ro3.js +41 -5
  628. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ru2.js +18 -3
  629. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ru3.js +41 -5
  630. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sh2.js +15 -0
  631. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sh3.js +41 -5
  632. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sk2.js +16 -1
  633. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sk3.js +41 -5
  634. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sl2.js +16 -1
  635. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sl3.js +42 -6
  636. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sr2.js +15 -0
  637. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sr3.js +41 -5
  638. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sv2.js +16 -1
  639. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sv3.js +43 -7
  640. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_th2.js +15 -0
  641. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_th3.js +41 -5
  642. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_tr2.js +15 -0
  643. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_tr3.js +41 -5
  644. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_uk2.js +15 -0
  645. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_uk3.js +42 -6
  646. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_vi2.js +15 -0
  647. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_vi3.js +41 -5
  648. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_CN2.js +15 -0
  649. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_CN3.js +41 -5
  650. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_TW2.js +15 -0
  651. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_TW3.js +41 -5
  652. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css.js +1 -1
  653. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css10.js +1 -1
  654. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css11.js +1 -1
  655. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css12.js +1 -1
  656. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css13.js +1 -1
  657. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css14.js +1 -1
  658. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css15.js +1 -1
  659. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css16.js +1 -1
  660. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css17.js +1 -1
  661. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css18.js +1 -1
  662. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css19.js +1 -1
  663. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css2.js +1 -1
  664. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css20.js +1 -1
  665. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css21.js +1 -1
  666. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css22.js +1 -1
  667. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css23.js +1 -1
  668. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css24.js +1 -1
  669. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css3.js +1 -1
  670. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css4.js +1 -1
  671. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css5.js +1 -1
  672. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css6.js +1 -1
  673. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css7.js +1 -1
  674. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css8.js +1 -1
  675. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css9.js +1 -1
  676. package/src/main/js/sap/ushell/thirdparty/event-strict.js +7 -0
  677. package/src/main/js/sap/ushell/thirdparty/i18n-defaults.js +146 -0
  678. package/src/main/js/sap/ushell/thirdparty/parameters-bundle.css25.js +497 -506
  679. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents/dist/MenuItem.js +5 -0
  680. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-base.js +16 -2
  681. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-fiori/ShellBar.js +4 -0
  682. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-fiori/ShellBarItem.js +4 -0
  683. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-fiori/ShellBarSpacer.js +4 -0
  684. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-fiori/dist/ShellBar.js +138 -0
  685. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-fiori/dist/ShellBarItem.js +61 -0
  686. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-fiori/dist/ShellBarSpacer.js +46 -0
  687. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-fiori/dist/UserMenuAccount.js +5 -0
  688. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-fiori.js +21 -3
  689. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-icons/AllIcons.js +1 -1
  690. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents.js +17 -2
  691. package/src/main/js/sap/ushell/thirdparty/webcomponents-base.js +4270 -17
  692. package/src/main/js/sap/ushell/thirdparty/webcomponents-base2.js +7 -0
  693. package/src/main/js/sap/ushell/thirdparty/webcomponents-fiori.js +5 -5
  694. package/src/main/js/sap/ushell/thirdparty/webcomponents.js +10 -14
  695. package/src/main/js/sap/ushell/ui/AppContainer.js +6 -0
  696. package/src/main/js/sap/ushell/ui/ShellHeader.js +4 -40
  697. package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +1 -1
  698. package/src/main/js/sap/ushell/ui/footerbar/AboutDialog.controller.js +28 -27
  699. package/src/main/js/sap/ushell/ui/footerbar/SaveAsTile.controller.js +1 -1
  700. package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
  701. package/src/main/js/sap/ushell/ui/launchpad/Section.js +1 -1
  702. package/src/main/js/sap/ushell/ui/launchpad/VizInstanceCdm.js +1 -7
  703. package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +1 -1
  704. package/src/main/js/sap/ushell/ui/shell/RightFloatingContainer.js +249 -249
  705. package/src/main/js/sap/ushell/ui/shell/ShellAppTitle.js +35 -3
  706. package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +1 -1
  707. package/src/main/js/sap/ushell/ui/utils.js +1 -1
  708. package/src/main/js/sap/ushell/ui5service/ShellUIServiceFactory.js +1 -1
  709. package/src/main/js/sap/ushell/ui5service/UserStatus.js +1 -1
  710. package/src/main/js/sap/ushell/utils/RestrictedJSONModel.js +16 -0
  711. package/src/main/js/sap/ushell/utils/UrlParsing.js +96 -94
  712. package/src/main/js/sap/ushell/utils/UrlShortening.js +1 -1
  713. package/src/main/js/sap/ushell/utils/workpage/WorkPageHost.js +2 -2
  714. package/src/main/js/sap/ushell/utils/workpage/WorkPageService.js +12 -6
  715. package/src/main/js/sap/ushell/utils/workpage/WorkPageVizInstantiation.js +1 -1
  716. package/src/test/js/sap/ushell/bootstrap/sandbox.js +1 -1
  717. package/ui5.yaml +1 -1
  718. package/src/main/js/sap/ushell/components/applicationIntegration/ApplicationContainerRenderer.js +0 -35
  719. package/src/main/js/sap/ushell/components/shell/SideNavigation/view/SideNavigation.view.xml +0 -52
  720. package/src/main/js/sap/ushell/services/Ui5ComponentLoader/utils.js +0 -375
  721. package/src/main/js/sap/ushell/thirdparty/Theme.js +0 -130
  722. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_in2.js +0 -266
  723. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_in3.js +0 -143
  724. package/src/main/js/sap/ushell/thirdparty/i18n.js +0 -25
  725. package/src/main/js/sap/ushell/thirdparty/i18nBundle.js +0 -9
  726. package/src/main/js/sap/ushell/thirdparty/property.js +0 -50
  727. /package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/ApplicationContainerCache.js +0 -0
  728. /package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/PostMessageManager/ExtensionItems.js +0 -0
  729. /package/src/main/js/sap/ushell/components/shell/MenuBar/view/{MenuBarPersonalization.view.xml → MenuBarWithPersonalizationButton.view.xml} +0 -0
@@ -0,0 +1,1892 @@
1
+ sap.ui.define(['sap/ushell/thirdparty/webcomponents-base', 'sap/ushell/thirdparty/webcomponents', 'sap/ushell/thirdparty/webcomponents-fiori', 'sap/ushell/thirdparty/Icons', 'sap/ushell/thirdparty/event-strict', 'sap/ushell/thirdparty/parameters-bundle.css25', 'sap/ushell/thirdparty/MenuItem', 'sap/ushell/thirdparty/i18n-defaults'], (function (webcomponentsBase, webcomponents, webcomponentsFiori, Icons, eventStrict, parametersBundle_css, MenuItem, i18nDefaults) { 'use strict';
2
+
3
+ const predefinedHooks = {
4
+ imageBegin,
5
+ iconBegin,
6
+ iconEnd,
7
+ listItemContent
8
+ };
9
+ function ListItemStandardTemplate(hooks) {
10
+ const currentHooks = { ...predefinedHooks, ...hooks };
11
+ return parametersBundle_css.ListItemTemplate.call(this, currentHooks);
12
+ }
13
+ function listItemContent() {
14
+ return parametersBundle_css.jsxs(parametersBundle_css.Fragment, { children: [parametersBundle_css.jsxs("div", { class: "ui5-li-text-wrapper", children: [parametersBundle_css.jsx("span", { part: "title", class: "ui5-li-title", children: parametersBundle_css.jsx("slot", {}) }), this.description && (parametersBundle_css.jsxs("div", { class: "ui5-li-description-info-wrapper", children: [parametersBundle_css.jsx("span", { part: "description", class: "ui5-li-desc", children: this.description }), this.additionalText && (parametersBundle_css.jsx("span", { part: "additional-text", class: "ui5-li-additional-text", children: this.additionalText }))] })), !this.typeActive && parametersBundle_css.jsx("span", { class: "ui5-hidden-text", children: this.type })] }), !this.description && this.additionalText && (parametersBundle_css.jsx("span", { part: "additional-text", class: "ui5-li-additional-text", children: this.additionalText }))] });
15
+ }
16
+ function imageBegin() {
17
+ if (this.hasImage) {
18
+ return parametersBundle_css.jsx("div", { class: "ui5-li-image", children: parametersBundle_css.jsx("slot", { name: "image" }) });
19
+ }
20
+ }
21
+ function iconBegin() {
22
+ if (this.displayIconBegin) {
23
+ return parametersBundle_css.jsx(parametersBundle_css.Icon, { part: "icon", name: this.icon, class: "ui5-li-icon", mode: "Decorative" });
24
+ }
25
+ }
26
+ function iconEnd() {
27
+ if (this.displayIconEnd) {
28
+ return parametersBundle_css.jsx(parametersBundle_css.Icon, { part: "icon", name: this.icon, class: "ui5-li-icon", mode: "Decorative" });
29
+ }
30
+ }
31
+
32
+ var __decorate$3 = (this && this.__decorate) || function (decorators, target, key, desc) {
33
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
34
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
35
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
36
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
37
+ };
38
+ /**
39
+ * @class
40
+ * The `ui5-li` represents the simplest type of item for a `ui5-list`.
41
+ *
42
+ * This is a list item,
43
+ * providing the most common use cases such as `text`,
44
+ * `image` and `icon`.
45
+
46
+ * @csspart title - Used to style the title of the list item
47
+ * @csspart description - Used to style the description of the list item
48
+ * @csspart additional-text - Used to style the additionalText of the list item
49
+ * @csspart icon - Used to style the icon of the list item
50
+ * @csspart native-li - Used to style the main li tag of the list item
51
+ * @csspart content - Used to style the content area of the list item
52
+ * @csspart detail-button - Used to style the button rendered when the list item is of type detail
53
+ * @csspart delete-button - Used to style the button rendered when the list item is in delete mode
54
+ * @csspart radio - Used to style the radio button rendered when the list item is in single selection mode
55
+ * @csspart checkbox - Used to style the checkbox rendered when the list item is in multiple selection mode
56
+ * @slot {Node[]} default - Defines the text of the component.
57
+ *
58
+ * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.
59
+ * @constructor
60
+ * @extends ListItem
61
+ * @public
62
+ */
63
+ let ListItemStandard = class ListItemStandard extends parametersBundle_css.ListItem {
64
+ constructor() {
65
+ super(...arguments);
66
+ /**
67
+ * Defines whether the `icon` should be displayed in the beginning of the list item or in the end.
68
+ *
69
+ * @default false
70
+ * @public
71
+ */
72
+ this.iconEnd = false;
73
+ /**
74
+ * Defines the state of the `additionalText`.
75
+ *
76
+ * Available options are: `"None"` (by default), `"Positive"`, `"Critical"`, `"Information"` and `"Negative"`.
77
+ * @default "None"
78
+ * @public
79
+ * @since 1.0.0-rc.15
80
+ */
81
+ this.additionalTextState = "None";
82
+ /**
83
+ * Defines whether the item is movable.
84
+ * @default false
85
+ * @public
86
+ * @since 2.0.0
87
+ */
88
+ this.movable = false;
89
+ /**
90
+ * Defines if the text of the component should wrap, they truncate by default.
91
+ *
92
+ * **Note:** this property takes affect only if text node is provided to default slot of the component
93
+ * @default "None"
94
+ * @private
95
+ * @since 1.5.0
96
+ */
97
+ this.wrappingType = "None";
98
+ /**
99
+ * Indicates if the list item has text content.
100
+ * @private
101
+ */
102
+ this.hasTitle = false;
103
+ this._hasImage = false;
104
+ }
105
+ onBeforeRendering() {
106
+ super.onBeforeRendering();
107
+ this.hasTitle = !!this.textContent;
108
+ this._hasImage = this.hasImage;
109
+ }
110
+ get displayIconBegin() {
111
+ return !!(this.icon && !this.iconEnd);
112
+ }
113
+ get displayIconEnd() {
114
+ return !!(this.icon && this.iconEnd);
115
+ }
116
+ get hasImage() {
117
+ return !!this.image.length;
118
+ }
119
+ };
120
+ __decorate$3([
121
+ webcomponentsBase.s()
122
+ ], ListItemStandard.prototype, "description", void 0);
123
+ __decorate$3([
124
+ webcomponentsBase.s()
125
+ ], ListItemStandard.prototype, "icon", void 0);
126
+ __decorate$3([
127
+ webcomponentsBase.s({ type: Boolean })
128
+ ], ListItemStandard.prototype, "iconEnd", void 0);
129
+ __decorate$3([
130
+ webcomponentsBase.s()
131
+ ], ListItemStandard.prototype, "additionalText", void 0);
132
+ __decorate$3([
133
+ webcomponentsBase.s()
134
+ ], ListItemStandard.prototype, "additionalTextState", void 0);
135
+ __decorate$3([
136
+ webcomponentsBase.s({ type: Boolean })
137
+ ], ListItemStandard.prototype, "movable", void 0);
138
+ __decorate$3([
139
+ webcomponentsBase.s()
140
+ ], ListItemStandard.prototype, "accessibleName", void 0);
141
+ __decorate$3([
142
+ webcomponentsBase.s()
143
+ ], ListItemStandard.prototype, "wrappingType", void 0);
144
+ __decorate$3([
145
+ webcomponentsBase.s({ type: Boolean })
146
+ ], ListItemStandard.prototype, "hasTitle", void 0);
147
+ __decorate$3([
148
+ webcomponentsBase.s({ type: Boolean })
149
+ ], ListItemStandard.prototype, "_hasImage", void 0);
150
+ __decorate$3([
151
+ webcomponentsBase.d()
152
+ ], ListItemStandard.prototype, "image", void 0);
153
+ ListItemStandard = __decorate$3([
154
+ webcomponentsBase.m({
155
+ tag: "ui5-li",
156
+ renderer: parametersBundle_css.d,
157
+ template: ListItemStandardTemplate,
158
+ })
159
+ ], ListItemStandard);
160
+ ListItemStandard.define();
161
+ var ListItemStandard$1 = ListItemStandard;
162
+
163
+ function MenuSeparatorTemplate() {
164
+ return (parametersBundle_css.jsx(i18nDefaults.ListItemCustom, { class: "ui5-menu-separator", _forcedAccessibleRole: "separator", disabled: true }));
165
+ }
166
+
167
+ Icons.p("@ui5/webcomponents-theming", "sap_horizon", async () => parametersBundle_css.defaultThemeBase);
168
+ Icons.p("@ui5/webcomponents", "sap_horizon", async () => parametersBundle_css.defaultTheme$1);
169
+ var menuSeparatorCss = `:host{border-top:.0625rem solid var(--sapGroup_ContentBorderColor);min-height:.125rem}.ui5-menu-separator{border:inherit;min-height:inherit;background:inherit;opacity:1}
170
+ `;
171
+
172
+ var __decorate$2 = (this && this.__decorate) || function (decorators, target, key, desc) {
173
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
174
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
175
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
176
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
177
+ };
178
+ /**
179
+ * @class
180
+ * The `ui5-menu-separator` represents a horizontal line to separate menu items inside a `ui5-menu`.
181
+ * @constructor
182
+ * @extends ListItemBase
183
+ * @implements {IMenuItem}
184
+ * @public
185
+ * @since 2.0.0
186
+ */
187
+ let MenuSeparator = class MenuSeparator extends parametersBundle_css.ListItemBase {
188
+ get isSeparator() {
189
+ return true;
190
+ }
191
+ get classes() {
192
+ return {
193
+ main: {
194
+ "ui5-menu-separator": true,
195
+ },
196
+ };
197
+ }
198
+ /**
199
+ * @override
200
+ */
201
+ get _focusable() {
202
+ return false;
203
+ }
204
+ /**
205
+ * @override
206
+ */
207
+ get _pressable() {
208
+ return false;
209
+ }
210
+ };
211
+ MenuSeparator = __decorate$2([
212
+ webcomponentsBase.m({
213
+ tag: "ui5-menu-separator",
214
+ renderer: parametersBundle_css.d,
215
+ styles: [menuSeparatorCss],
216
+ template: MenuSeparatorTemplate,
217
+ })
218
+ ], MenuSeparator);
219
+ MenuSeparator.define();
220
+
221
+ function MenuTemplate() {
222
+ return (parametersBundle_css.jsxs(parametersBundle_css.ResponsivePopover, { id: `${this._id}-menu-rp`, class: "ui5-menu-rp", placement: "Bottom", verticalAlign: "Bottom", opener: this.opener, open: this.open, preventInitialFocus: true, hideArrow: true, allowTargetOverlap: true, accessibleName: this.acessibleNameText, onBeforeOpen: this._beforePopoverOpen, onOpen: this._afterPopoverOpen, onBeforeClose: this._beforePopoverClose, onClose: this._afterPopoverClose, children: [this.isPhone &&
223
+ parametersBundle_css.jsxs("div", { slot: "header", class: "ui5-menu-dialog-header", children: [parametersBundle_css.jsx("div", { class: "ui5-menu-dialog-title", children: parametersBundle_css.jsx("h1", { children: this.headerText }) }), parametersBundle_css.jsx(parametersBundle_css.Button, { icon: parametersBundle_css.declineIcon, design: "Transparent", "aria-label": this.labelClose, onClick: this._close })] }), parametersBundle_css.jsx("div", { id: `${this._id}-menu-main`, children: this.items.length ?
224
+ (parametersBundle_css.jsx(parametersBundle_css.List, { id: `${this._id}- menu-list`, selectionMode: "None", loading: this.loading, loadingDelay: this.loadingDelay, separators: "None", accessibleRole: "Menu", onItemClick: this._itemClick, onMouseOver: this._itemMouseOver, onKeyDown: this._itemKeyDown, "onui5-close-menu": this._close, children: parametersBundle_css.jsx("slot", {}) }))
225
+ : this.loading && (parametersBundle_css.jsx(parametersBundle_css.BusyIndicator, { id: `${this._id}-menu-busy-indicator`, delay: this.loadingDelay, class: "ui5-menu-busy-indicator", active: true })) })] }));
226
+ }
227
+
228
+ Icons.p("@ui5/webcomponents-theming", "sap_horizon", async () => parametersBundle_css.defaultThemeBase);
229
+ Icons.p("@ui5/webcomponents", "sap_horizon", async () => parametersBundle_css.defaultTheme$1);
230
+ var menuCss = `:host{line-height:initial}::slotted([ui5-menu-item]){line-height:inherit}.ui5-menu-rp[ui5-responsive-popover]::part(header),.ui5-menu-rp[ui5-responsive-popover]::part(content),.ui5-menu-rp[ui5-responsive-popover]::part(footer){padding:0}.ui5-menu-rp[ui5-responsive-popover]{box-shadow:var(--sapContent_Shadow1);border-radius:var(--_ui5-v2-9-0_menu_popover_border_radius)}.ui5-menu-busy-indicator{width:100%}.ui5-menu-dialog-header{display:flex;height:var(--_ui5-v2-9-0-responsive_popover_header_height);align-items:center;justify-content:space-between;padding:0px 1rem;width:100%;overflow:hidden}.ui5-menu-dialog-title{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;width:calc(100% - 6.5rem);padding-right:1rem;font-family:var(--sapFontHeaderFamily)}.ui5-menu-dialog-title>h1{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--sapFontHeader5Size)}.ui5-menu-back-button{margin-right:1rem}
231
+ `;
232
+
233
+ var __decorate$1 = (this && this.__decorate) || function (decorators, target, key, desc) {
234
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
235
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
236
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
237
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
238
+ };
239
+ var Menu_1;
240
+ const MENU_OPEN_DELAY = 300;
241
+ /**
242
+ * @class
243
+ *
244
+ * ### Overview
245
+ *
246
+ * `ui5-menu` component represents a hierarchical menu structure.
247
+ *
248
+ * ### Structure
249
+ *
250
+ * The `ui5-menu` can hold two types of entities:
251
+ *
252
+ * - `ui5-menu-item` components
253
+ * - `ui5-menu-separator` - used to separate menu items with a line
254
+ *
255
+ * An arbitrary hierarchy structure can be represented by recursively nesting menu items.
256
+ *
257
+ * ### Keyboard Handling
258
+ *
259
+ * The `ui5-menu` provides advanced keyboard handling.
260
+ * The user can use the following keyboard shortcuts in order to navigate trough the tree:
261
+ *
262
+ * - `Arrow Up` / `Arrow Down` - Navigates up and down the menu items that are currently visible.
263
+ * - `Arrow Right`, `Space` or `Enter` - Opens a sub-menu if there are menu items nested
264
+ * in the currently clicked menu item.
265
+ * - `Arrow Left` or `Escape` - Closes the currently opened sub-menu.
266
+ *
267
+ * when there is `endContent` :
268
+ * - `Arrow Left` or `ArrowRight` - Navigate between the menu item actions and the menu item itself
269
+ * - `Arrow Up` / `Arrow Down` - Navigates up and down the currently visible menu items
270
+ *
271
+ * Note: if the text ditrection is set to Right-to-left (RTL), `Arrow Right` and `Arrow Left` functionality is swapped.
272
+ *
273
+ * ### ES6 Module Import
274
+ *
275
+ * `import "@ui5/webcomponents/dist/Menu.js";`
276
+ * @constructor
277
+ * @extends UI5Element
278
+ * @since 1.3.0
279
+ * @public
280
+ */
281
+ let Menu = Menu_1 = class Menu extends webcomponentsBase.b {
282
+ constructor() {
283
+ super(...arguments);
284
+ /**
285
+ * Indicates if the menu is open
286
+ * @public
287
+ * @default false
288
+ * @since 1.10.0
289
+ */
290
+ this.open = false;
291
+ /**
292
+ * Defines if a loading indicator would be displayed inside the corresponding ui5-menu popover.
293
+ * @default false
294
+ * @public
295
+ * @since 1.13.0
296
+ */
297
+ this.loading = false;
298
+ /**
299
+ * Defines the delay in milliseconds, after which the loading indicator will be displayed inside the corresponding ui5-menu popover..
300
+ * @default 1000
301
+ * @public
302
+ * @since 1.13.0
303
+ */
304
+ this.loadingDelay = 1000;
305
+ }
306
+ get isRtl() {
307
+ return this.effectiveDir === "rtl";
308
+ }
309
+ get labelClose() {
310
+ return Menu_1.i18nBundle.getText(parametersBundle_css.MENU_CLOSE_BUTTON_ARIA_LABEL);
311
+ }
312
+ get isPhone() {
313
+ return Icons.d();
314
+ }
315
+ get _popover() {
316
+ return this.shadowRoot.querySelector("[ui5-responsive-popover]");
317
+ }
318
+ get _menuItems() {
319
+ return this.items.filter((item) => !item.isSeparator);
320
+ }
321
+ get acessibleNameText() {
322
+ return Menu_1.i18nBundle.getText(parametersBundle_css.MENU_POPOVER_ACCESSIBLE_NAME);
323
+ }
324
+ onBeforeRendering() {
325
+ const siblingsWithIcon = this._menuItems.some(menuItem => !!menuItem.icon);
326
+ this._menuItems.forEach(item => {
327
+ item._siblingsWithIcon = siblingsWithIcon;
328
+ });
329
+ }
330
+ _close() {
331
+ this.open = false;
332
+ }
333
+ _openItemSubMenu(item) {
334
+ clearTimeout(this._timeout);
335
+ if (!item._popover || item._popover.open) {
336
+ return;
337
+ }
338
+ this.fireDecoratorEvent("before-open", {
339
+ item,
340
+ });
341
+ item._popover.opener = item;
342
+ item._popover.open = true;
343
+ item.selected = true;
344
+ }
345
+ _closeItemSubMenu(item) {
346
+ if (item && item._popover) {
347
+ const openedSibling = item._menuItems.find(menuItem => menuItem._popover && menuItem._popover.open);
348
+ if (openedSibling) {
349
+ this._closeItemSubMenu(openedSibling);
350
+ }
351
+ item._popover.open = false;
352
+ item.selected = false;
353
+ }
354
+ }
355
+ _itemMouseOver(e) {
356
+ if (Icons.f$2()) {
357
+ // respect mouseover only on desktop
358
+ const item = e.target;
359
+ if (this._isInstanceOfMenuItem(item)) {
360
+ item.focus();
361
+ // Opens submenu with 300ms delay
362
+ this._startOpenTimeout(item);
363
+ }
364
+ }
365
+ }
366
+ async focus(focusOptions) {
367
+ await Icons.f$1();
368
+ const firstMenuItem = this._menuItems[0];
369
+ if (firstMenuItem) {
370
+ return firstMenuItem.focus(focusOptions);
371
+ }
372
+ return super.focus(focusOptions);
373
+ }
374
+ _startOpenTimeout(item) {
375
+ clearTimeout(this._timeout);
376
+ this._timeout = setTimeout(() => {
377
+ const opener = item.parentElement;
378
+ const openedSibling = opener && opener._menuItems.find(menuItem => menuItem._popover && menuItem._popover.open);
379
+ if (openedSibling) {
380
+ this._closeItemSubMenu(openedSibling);
381
+ }
382
+ this._openItemSubMenu(item);
383
+ }, MENU_OPEN_DELAY);
384
+ }
385
+ _itemClick(e) {
386
+ const item = e.detail.item;
387
+ if (!item._popover) {
388
+ const prevented = !this.fireDecoratorEvent("item-click", {
389
+ "item": item,
390
+ "text": item.text || "",
391
+ });
392
+ if (!prevented && this._popover) {
393
+ item.fireDecoratorEvent("close-menu");
394
+ }
395
+ }
396
+ else {
397
+ this._openItemSubMenu(item);
398
+ }
399
+ }
400
+ _itemKeyDown(e) {
401
+ const isTabNextPrevious = webcomponentsBase.B(e) || webcomponentsBase.m$1(e);
402
+ const item = e.target;
403
+ const parentElement = item.parentElement;
404
+ const shouldItemNavigation = webcomponentsBase.D(e) || webcomponentsBase.P(e);
405
+ const shouldOpenMenu = this.isRtl ? webcomponentsBase.K(e) : webcomponentsBase.c(e);
406
+ const shouldCloseMenu = !shouldItemNavigation && !shouldOpenMenu && this._isInstanceOfMenuItem(parentElement);
407
+ if (this._isInstanceOfMenuItem(item)) {
408
+ if (webcomponentsBase.b$1(e) || isTabNextPrevious) {
409
+ e.preventDefault();
410
+ }
411
+ if (webcomponentsBase.c(e) || webcomponentsBase.K(e)) {
412
+ item._navigateToEndContent(webcomponentsBase.K(e));
413
+ }
414
+ if (shouldOpenMenu) {
415
+ this._openItemSubMenu(item);
416
+ }
417
+ else if ((shouldCloseMenu || isTabNextPrevious) && parentElement._popover) {
418
+ parentElement._popover.open = false;
419
+ parentElement.selected = false;
420
+ parentElement._popover.focusOpener();
421
+ }
422
+ }
423
+ else if (webcomponentsBase.D(e)) {
424
+ this._navigateOutOfEndContent(parentElement);
425
+ }
426
+ else if (webcomponentsBase.P(e)) {
427
+ this._navigateOutOfEndContent(parentElement, true);
428
+ }
429
+ }
430
+ _navigateOutOfEndContent(menuItem, isDownwards) {
431
+ const opener = menuItem?.parentElement;
432
+ const currentIndex = opener._menuItems.indexOf(menuItem);
433
+ const nextItem = isDownwards ? opener._menuItems[currentIndex + 1] : opener._menuItems[currentIndex - 1];
434
+ const itemToFocus = nextItem || opener._menuItems[currentIndex];
435
+ itemToFocus.focus();
436
+ }
437
+ _beforePopoverOpen(e) {
438
+ const prevented = !this.fireDecoratorEvent("before-open", {});
439
+ if (prevented) {
440
+ this.open = false;
441
+ e.preventDefault();
442
+ }
443
+ }
444
+ _afterPopoverOpen() {
445
+ this._menuItems[0]?.focus();
446
+ this.fireDecoratorEvent("open");
447
+ }
448
+ _beforePopoverClose(e) {
449
+ const prevented = !this.fireDecoratorEvent("before-close", { escPressed: e.detail.escPressed });
450
+ if (prevented) {
451
+ this.open = true;
452
+ e.preventDefault();
453
+ }
454
+ }
455
+ _afterPopoverClose() {
456
+ this.open = false;
457
+ this.fireDecoratorEvent("close");
458
+ }
459
+ _isInstanceOfMenuItem(object) {
460
+ return "isMenuItem" in object;
461
+ }
462
+ };
463
+ __decorate$1([
464
+ webcomponentsBase.s()
465
+ ], Menu.prototype, "headerText", void 0);
466
+ __decorate$1([
467
+ webcomponentsBase.s({ type: Boolean })
468
+ ], Menu.prototype, "open", void 0);
469
+ __decorate$1([
470
+ webcomponentsBase.s({ type: Boolean })
471
+ ], Menu.prototype, "loading", void 0);
472
+ __decorate$1([
473
+ webcomponentsBase.s({ type: Number })
474
+ ], Menu.prototype, "loadingDelay", void 0);
475
+ __decorate$1([
476
+ webcomponentsBase.s({ converter: parametersBundle_css.e })
477
+ ], Menu.prototype, "opener", void 0);
478
+ __decorate$1([
479
+ webcomponentsBase.d({ "default": true, type: HTMLElement, invalidateOnChildChange: true })
480
+ ], Menu.prototype, "items", void 0);
481
+ __decorate$1([
482
+ parametersBundle_css.i("@ui5/webcomponents")
483
+ ], Menu, "i18nBundle", void 0);
484
+ Menu = Menu_1 = __decorate$1([
485
+ webcomponentsBase.m({
486
+ tag: "ui5-menu",
487
+ renderer: parametersBundle_css.d,
488
+ styles: menuCss,
489
+ template: MenuTemplate,
490
+ })
491
+ /**
492
+ * Fired when an item is being clicked.
493
+ *
494
+ * **Note:** Since 1.17.0 the event is preventable, allowing the menu to remain open after an item is pressed.
495
+ * @param { HTMLElement } item The currently clicked menu item.
496
+ * @param { string } text The text of the currently clicked menu item.
497
+ * @public
498
+ */
499
+ ,
500
+ eventStrict.l("item-click", {
501
+ cancelable: true,
502
+ })
503
+ /**
504
+ * Fired before the menu is opened. This event can be cancelled, which will prevent the menu from opening.
505
+ *
506
+ * **Note:** Since 1.14.0 the event is also fired before a sub-menu opens.
507
+ * @public
508
+ * @since 1.10.0
509
+ * @param { HTMLElement } item The `ui5-menu-item` that triggers opening of the sub-menu or undefined when fired upon root menu opening.
510
+ */
511
+ ,
512
+ eventStrict.l("before-open", {
513
+ bubbles: true,
514
+ cancelable: true,
515
+ })
516
+ /**
517
+ * Fired after the menu is opened.
518
+ * @public
519
+ * @since 1.10.0
520
+ */
521
+ ,
522
+ eventStrict.l("open", {
523
+ bubbles: true,
524
+ })
525
+ /**
526
+ * Fired when the menu is being closed.
527
+ * @private
528
+ */
529
+ ,
530
+ eventStrict.l("close-menu", {
531
+ bubbles: true,
532
+ })
533
+ /**
534
+ * Fired before the menu is closed. This event can be cancelled, which will prevent the menu from closing.
535
+ * @public
536
+ * @param {boolean} escPressed Indicates that `ESC` key has triggered the event.
537
+ * @since 1.10.0
538
+ */
539
+ ,
540
+ eventStrict.l("before-close", {
541
+ bubbles: true,
542
+ cancelable: true,
543
+ })
544
+ /**
545
+ * Fired after the menu is closed.
546
+ * @public
547
+ * @since 1.10.0
548
+ */
549
+ ,
550
+ eventStrict.l("close")
551
+ ], Menu);
552
+ Menu.define();
553
+ var Menu$1 = Menu;
554
+
555
+ const name$b = "search";
556
+ const pathData$b = "M470 426q10 9 10 22.5T470 471q-9 9-22 9t-23-9L308 353q-45 31-100 31-36 0-68-13.5T84 333t-38-56-14-69q0-36 14-68t38-56 56-38 68-14 68 14 56 38 38 56 14 68q0 28-8.5 53T353 308zm-262-74q30 0 56-11t45.5-30.5 31-46T352 208t-11.5-56-31-45.5-45.5-31T208 64t-56.5 11.5-46 31T75 152t-11 56 11 56.5 30.5 46 46 30.5 56.5 11z";
557
+ const ltr$b = true;
558
+ const accData$3 = parametersBundle_css.ICON_SEARCH;
559
+ const collection$b = "SAP-icons-v4";
560
+ const packageName$b = "@ui5/webcomponents-icons";
561
+
562
+ Icons.f(name$b, { pathData: pathData$b, ltr: ltr$b, accData: accData$3, collection: collection$b, packageName: packageName$b });
563
+
564
+ const name$a = "search";
565
+ const pathData$a = "M473 436q7 7 7 18t-7.5 18.5T454 480q-10 0-18-8l-95-95q-51 39-117 39-40 0-75-15t-61-41-41-61-15-75 15-75 41-61 61-41 75-15 75 15 61 41 41 61 15 75q0 64-39 117zM83 224q0 30 11 55.5t30 44.5 44.5 30 55.5 11 55.5-11 44.5-30 30-44.5 11-55.5-11-55.5-30-44.5-44.5-30T224 83t-55.5 11-44.5 30-30 44.5T83 224z";
566
+ const ltr$a = true;
567
+ const accData$2 = parametersBundle_css.ICON_SEARCH;
568
+ const collection$a = "SAP-icons-v5";
569
+ const packageName$a = "@ui5/webcomponents-icons";
570
+
571
+ Icons.f(name$a, { pathData: pathData$a, ltr: ltr$a, accData: accData$2, collection: collection$a, packageName: packageName$a });
572
+
573
+ var search = "search";
574
+
575
+ const name$9 = "da";
576
+ const pathData$9 = "M36 163l220 305 221-306-89-130H137zm220 349q-8 0-13-7L3 172q-3-5-3-10t3-9L117 6q5-6 12-6h267q9 0 13 7l100 146q3 4 3 9t-3 10L269 505q-5 7-13 7zm120-326q-26 9-39.5 22.5T315 248q-3 8-11 8t-11-8q-8-26-21.5-39.5T232 186q-8-2-8-10t8-11q26-9 39.5-22.5T293 103q3-7 11-7t11 7q8 26 21.5 39.5T376 165q8 3 8 11 0 3-1.5 6t-6.5 4z";
577
+ const ltr$9 = true;
578
+ const collection$9 = "SAP-icons-v4";
579
+ const packageName$9 = "@ui5/webcomponents-icons";
580
+
581
+ Icons.f(name$9, { pathData: pathData$9, ltr: ltr$9, collection: collection$9, packageName: packageName$9 });
582
+
583
+ const name$8 = "da";
584
+ const pathData$8 = "M256.499 511.002q-12.975 0-20.959-10.979L5.988 180.647q-11.976-14.97 0-29.941L114.776 9.98Q122.76 0 134.736 0h255.502q14.97 0 20.959 10.979l95.813 140.725q9.98 14.97 0 28.943L277.458 500.023q-7.984 10.979-20.959 10.979zM57.887 166.674l198.612 275.462 198.612-276.46-77.848-114.775H147.712zm318.378 19.961q-25.95 7.985-39.423 21.459t-22.456 39.423q-1.996 7.984-9.98 7.984t-10.98-7.984q-8.982-25.95-22.455-39.423t-39.423-21.459q-7.985-2.994-7.985-10.978t7.985-10.979q25.95-7.984 39.423-21.957t22.456-39.922q2.994-7.984 10.978-7.984t9.981 7.984q8.982 25.95 22.456 39.922t39.423 21.957q7.985 2.995 7.985 10.979t-7.985 10.978z";
585
+ const ltr$8 = true;
586
+ const collection$8 = "SAP-icons-v5";
587
+ const packageName$8 = "@ui5/webcomponents-icons";
588
+
589
+ Icons.f(name$8, { pathData: pathData$8, ltr: ltr$8, collection: collection$8, packageName: packageName$8 });
590
+
591
+ var da = "da";
592
+
593
+ const name$7 = "bell";
594
+ const pathData$7 = "M32 416q0-7 15-21t31-40.5 25.5-67.5-1.5-101q-5-29 3-54.5t25-45 42-33T225 35q0-15 7-25t24-10q14 0 22.5 9t8.5 26q26 5 50 18t41 33 24.5 45.5T404 186q-12 60-1.5 101t27.5 67.5 33.5 40.5 16.5 21q0 14-9 23t-23 9H320q0 26-19 45t-45 19-45-19-19-45H64q-14 0-23-9t-9-23zm39 0h369q-10-11-25.5-30.5t-28-48.5-18-68 4.5-89q5-25-2.5-44T354 106q-19-23-42-32.5T256 64q-32 0-57.5 9.5T154 106q-10 11-18 30t-3 44q9 50 4 89t-16 68-25.5 48.5T71 416z";
595
+ const ltr$7 = false;
596
+ const collection$7 = "SAP-icons-v4";
597
+ const packageName$7 = "@ui5/webcomponents-icons";
598
+
599
+ Icons.f(name$7, { pathData: pathData$7, ltr: ltr$7, collection: collection$7, packageName: packageName$7 });
600
+
601
+ const name$6 = "bell";
602
+ const pathData$6 = "M475 374q5 7 5 16 0 11-7 18.5t-18 7.5H334q-5 27-27 45.5T256 480t-51-18.5-27-45.5H58q-11 0-18.5-7.5T32 390q0-10 6-16 1-1 8-9.5T61 341t14.5-35.5T82 260v-20q0-100 45-154t129-54 129.5 54T431 240v20q0 25 6.5 45.5T452 341t15 23.5 8 9.5zm-69-9q-11-20-19-46.5t-8-58.5v-20q0-32-5.5-60t-20-50-38-34.5T256 83t-59.5 12.5-38 34.5-20 50-5.5 60v20q0 32-8 58.5T106 365h300z";
603
+ const ltr$6 = false;
604
+ const collection$6 = "SAP-icons-v5";
605
+ const packageName$6 = "@ui5/webcomponents-icons";
606
+
607
+ Icons.f(name$6, { pathData: pathData$6, ltr: ltr$6, collection: collection$6, packageName: packageName$6 });
608
+
609
+ var bell = "bell";
610
+
611
+ const name$5 = "overflow";
612
+ const pathData$5 = "M448 192q26 0 45 19t19 45-19 45-45 19-45-19-19-45 19-45 45-19zm0 96q14 0 23-9t9-23-9-23-23-9-23 9-9 23 9 23 23 9zm-192-96q26 0 45 19t19 45-19 45-45 19-45-19-19-45 19-45 45-19zm0 96q14 0 23-9t9-23-9-23-23-9-23 9-9 23 9 23 23 9zM64 192q26 0 45 19t19 45-19 45-45 19-45-19-19-45 19-45 45-19zm0 96q14 0 23-9t9-23-9-23-23-9-23 9-9 23 9 23 23 9z";
613
+ const ltr$5 = false;
614
+ const accData$1 = parametersBundle_css.ICON_OVERFLOW;
615
+ const collection$5 = "SAP-icons-v4";
616
+ const packageName$5 = "@ui5/webcomponents-icons";
617
+
618
+ Icons.f(name$5, { pathData: pathData$5, ltr: ltr$5, accData: accData$1, collection: collection$5, packageName: packageName$5 });
619
+
620
+ const name$4 = "overflow";
621
+ const pathData$4 = "M64 192q26 0 45 19t19 45-19 45-45 19-45-19-19-45 19-45 45-19zm192 0q26 0 45 19t19 45-19 45-45 19-45-19-19-45 19-45 45-19zm192 0q26 0 45 19t19 45-19 45-45 19-45-19-19-45 19-45 45-19z";
622
+ const ltr$4 = false;
623
+ const accData = parametersBundle_css.ICON_OVERFLOW;
624
+ const collection$4 = "SAP-icons-v5";
625
+ const packageName$4 = "@ui5/webcomponents-icons";
626
+
627
+ Icons.f(name$4, { pathData: pathData$4, ltr: ltr$4, accData, collection: collection$4, packageName: packageName$4 });
628
+
629
+ var overflow = "overflow";
630
+
631
+ const name$3 = "grid";
632
+ const pathData$3 = "M394 362h55q14 0 22.5 9t8.5 23v54q0 14-8.5 23t-22.5 9h-55q-14 0-22.5-9t-8.5-23v-54q0-14 8.5-23t22.5-9zM228 197h55q14 0 22.5 9t8.5 23v54q0 13-9 22.5t-22 9.5h-55q-13 0-22-9.5t-9-22.5v-54q0-14 8.5-23t22.5-9zm135-79V64q0-14 8.5-23t22.5-9h55q14 0 22.5 9t8.5 23v54q0 13-9 22.5t-22 9.5h-55q-13 0-22-9.5t-9-22.5zm31 79h55q14 0 22.5 9t8.5 23v54q0 13-9 22.5t-22 9.5h-55q-13 0-22-9.5t-9-22.5v-54q0-14 8.5-23t22.5-9zM63 32h55q14 0 22.5 9t8.5 23v54q0 13-9 22.5t-22 9.5H63q-13 0-22-9.5T32 118V64q0-14 8.5-23T63 32zM32 229q0-14 8.5-23t22.5-9h55q14 0 22.5 9t8.5 23v54q0 13-9 22.5t-22 9.5H63q-13 0-22-9.5T32 283v-54zm31 133h55q14 0 22.5 9t8.5 23v54q0 13-9 22.5t-22 9.5H63q-13 0-22-9.5T32 448v-54q0-14 8.5-23t22.5-9zM228 32h55q14 0 22.5 9t8.5 23v54q0 13-9 22.5t-22 9.5h-55q-13 0-22-9.5t-9-22.5V64q0-14 8.5-23t22.5-9zm-31 362q0-14 8.5-23t22.5-9h55q14 0 22.5 9t8.5 23v54q0 13-9 22.5t-22 9.5h-55q-13 0-22-9.5t-9-22.5v-54z";
633
+ const ltr$3 = false;
634
+ const collection$3 = "SAP-icons-v4";
635
+ const packageName$3 = "@ui5/webcomponents-icons";
636
+
637
+ Icons.f(name$3, { pathData: pathData$3, ltr: ltr$3, collection: collection$3, packageName: packageName$3 });
638
+
639
+ const name$2 = "grid";
640
+ const pathData$2 = "M80 128q-20 0-34-14T32 80t14-34 34-14 34 14 14 34-14 34-34 14zm176 0q-20 0-34-14t-14-34 14-34 34-14 34 14 14 34-14 34-34 14zm176 0q-20 0-34-14t-14-34 14-34 34-14 34 14 14 34-14 34-34 14zM80 208q20 0 34 14t14 34-14 34-34 14-34-14-14-34 14-34 34-14zm176 0q20 0 34 14t14 34-14 34-34 14-34-14-14-34 14-34 34-14zm176 0q20 0 34 14t14 34-14 34-34 14-34-14-14-34 14-34 34-14zM80 384q20 0 34 14t14 34-14 34-34 14-34-14-14-34 14-34 34-14zm176 0q20 0 34 14t14 34-14 34-34 14-34-14-14-34 14-34 34-14zm176 0q20 0 34 14t14 34-14 34-34 14-34-14-14-34 14-34 34-14z";
641
+ const ltr$2 = false;
642
+ const collection$2 = "SAP-icons-v5";
643
+ const packageName$2 = "@ui5/webcomponents-icons";
644
+
645
+ Icons.f(name$2, { pathData: pathData$2, ltr: ltr$2, collection: collection$2, packageName: packageName$2 });
646
+
647
+ var grid = "grid";
648
+
649
+ function n(e,o){let t=null,l=null;return function(...u){if(l){t=u;return}e(...u),l=setTimeout(()=>{t&&(e(...t),t=null),l=null;},o);}}
650
+
651
+ function PopoversTemplate() {
652
+ return (parametersBundle_css.jsxs(parametersBundle_css.Fragment, { children: [parametersBundle_css.jsx(parametersBundle_css.Popover, { class: "ui5-shellbar-menu-popover", hideArrow: true, placement: "Bottom", preventInitialFocus: true, onBeforeOpen: this._menuPopoverBeforeOpen, onClose: this._menuPopoverAfterClose, children: parametersBundle_css.jsx(parametersBundle_css.List, { separators: "None", selectionMode: "Single", onItemClick: this._menuItemPress, children: parametersBundle_css.jsx("slot", { name: "menuItems" }) }) }), parametersBundle_css.jsx(parametersBundle_css.Popover, { class: "ui5-shellbar-overflow-popover", placement: "Bottom", preventInitialFocus: true, horizontalAlign: this.popoverHorizontalAlign, hideArrow: true, onBeforeOpen: this._overflowPopoverBeforeOpen, onClose: this._overflowPopoverAfterClose, children: parametersBundle_css.jsx(parametersBundle_css.List, { separators: "None", onItemClick: this._handleActionListClick, children: this._hiddenIcons.map((icon, index) => (parametersBundle_css.jsx(ListItemStandard$1, { "data-count": icon.count, "data-ui5-external-action-item-id": icon.refItemid, icon: icon.icon ? icon.icon : "", type: "Active", "onui5-_press": icon.press, tooltip: icon.tooltip, accessibilityAttributes: this.accInfo.search.accessibilityAttributes, children: icon.text }, index))) }) })] }));
653
+ }
654
+
655
+ const name$1 = "slim-arrow-down";
656
+ const pathData$1 = "M420.5 187q11-12 23 0 5 5 5 11t-5 11l-165 165q-10 9-23 9t-22-9l-166-165q-5-5-5-11.5t5-11.5 11.5-5 11.5 5l160 160q5 6 11 0z";
657
+ const ltr$1 = false;
658
+ const collection$1 = "SAP-icons-v4";
659
+ const packageName$1 = "@ui5/webcomponents-icons";
660
+
661
+ Icons.f(name$1, { pathData: pathData$1, ltr: ltr$1, collection: collection$1, packageName: packageName$1 });
662
+
663
+ const name = "slim-arrow-down";
664
+ const pathData = "M96 186q0-11 7.5-18.5T122 160q10 0 18 8l116 121 116-121q8-8 18-8 11 0 18.5 7.5T416 186q0 10-7 17L275 344q-8 8-19 8-12 0-18-8L103 203q-7-7-7-17z";
665
+ const ltr = false;
666
+ const collection = "SAP-icons-v5";
667
+ const packageName = "@ui5/webcomponents-icons";
668
+
669
+ Icons.f(name, { pathData, ltr, collection, packageName });
670
+
671
+ var slimArrowDown = "slim-arrow-down";
672
+
673
+ function ShellBarTemplate() {
674
+ return (parametersBundle_css.jsxs(parametersBundle_css.Fragment, { children: [parametersBundle_css.jsxs("header", { class: this.classes.wrapper, "aria-label": this._shellbarText, onKeyDown: this._onKeyDown, part: "root", children: [parametersBundle_css.jsxs("div", { class: "ui5-shellbar-overflow-container ui5-shellbar-overflow-container-left", children: [this.startButton.length > 0 && parametersBundle_css.jsx("slot", { name: "startButton" }), this.hasMenuItems && (parametersBundle_css.jsxs(parametersBundle_css.Fragment, { children: [!this.showLogoInMenuButton && this.hasLogo && singleLogo.call(this), this.showTitleInMenuButton && parametersBundle_css.jsx("h1", { class: "ui5-hidden-text", children: this.primaryTitle }), this.showMenuButton && (parametersBundle_css.jsxs(parametersBundle_css.Fragment, { children: [parametersBundle_css.jsxs("button", { class: {
675
+ "ui5-shellbar-menu-button": true,
676
+ ...this.classes.button,
677
+ }, onClick: this._headerPress, "aria-haspopup": "menu", "aria-expanded": this._menuPopoverExpanded, "data-ui5-stable": "menu", tabIndex: 0, children: [this.showLogoInMenuButton && (parametersBundle_css.jsx("span", { class: "ui5-shellbar-logo", "aria-label": this._logoText, title: this._logoText, children: parametersBundle_css.jsx("slot", { name: "logo" }) })), this.showTitleInMenuButton && (parametersBundle_css.jsx("div", { class: "ui5-shellbar-menu-button-title", children: this.primaryTitle })), parametersBundle_css.jsx(parametersBundle_css.Icon, { class: "ui5-shellbar-menu-button-arrow", name: slimArrowDown })] }), this.secondaryTitle && !this.isSBreakPoint && (parametersBundle_css.jsx("div", { style: { display: "block" }, class: "ui5-shellbar-secondary-title", "data-ui5-stable": "secondary-title", children: this.secondaryTitle }))] }))] })), !this.hasMenuItems && (parametersBundle_css.jsxs(parametersBundle_css.Fragment, { children: [this.isSBreakPoint && this.hasLogo && singleLogo.call(this), !this.isSBreakPoint && (parametersBundle_css.jsxs(parametersBundle_css.Fragment, { children: [combinedLogo.call(this), this.secondaryTitle && this.primaryTitle && (parametersBundle_css.jsx("h2", { class: "ui5-shellbar-secondary-title", "data-ui5-stable": "secondary-title", children: this.secondaryTitle }))] }))] }))] }), this.hasMidContent && (parametersBundle_css.jsx("div", { class: "ui5-shellbar-overflow-container ui5-shellbar-mid-content", children: parametersBundle_css.jsx("slot", { name: "midContent" }) })), parametersBundle_css.jsx("div", { class: "ui5-shellbar-overflow-container ui5-shellbar-overflow-container-right", children: parametersBundle_css.jsxs("div", { class: "ui5-shellbar-overflow-container-right-inner", children: [this.hasContentItems && (parametersBundle_css.jsxs(parametersBundle_css.Fragment, { children: [this.showStartSeparator && (parametersBundle_css.jsx("div", { class: {
678
+ "ui5-shellbar-separator": true,
679
+ "ui5-shellbar-separator-start": true,
680
+ } })), this.startContent.map(item => {
681
+ const itemInfo = this._contentInfo.find(info => info.id === item._individualSlot);
682
+ return (parametersBundle_css.jsxs("div", { id: item._individualSlot, class: itemInfo?.classes, children: [this.shouldIncludeSeparator(itemInfo, this.startContentInfoSorted) && (
683
+ // never displayed, only "packed" with last item that was hidden, used for measurement purposes
684
+ parametersBundle_css.jsx("div", { class: {
685
+ "ui5-shellbar-separator": true,
686
+ "ui5-shellbar-separator-start": true,
687
+ } })), parametersBundle_css.jsx("slot", { name: item._individualSlot })] }, item._individualSlot));
688
+ }), parametersBundle_css.jsx("div", { class: "ui5-shellbar-spacer" }), this.endContent.map(item => {
689
+ const itemInfo = this._contentInfo.find(info => info.id === item._individualSlot);
690
+ return (parametersBundle_css.jsxs("div", { id: item._individualSlot, class: itemInfo?.classes, children: [parametersBundle_css.jsx("slot", { name: item._individualSlot }), this.shouldIncludeSeparator(itemInfo, this.endContentInfoSorted) && (
691
+ // never displayed, only "packed" with last item that was hidden, used for measurement purposes
692
+ parametersBundle_css.jsx("div", { class: {
693
+ "ui5-shellbar-separator": true,
694
+ "ui5-shellbar-separator-end": true,
695
+ } }))] }, item._individualSlot));
696
+ }), this.showEndSeparator && (parametersBundle_css.jsx("div", { class: {
697
+ "ui5-shellbar-separator": true,
698
+ "ui5-shellbar-separator-end": true,
699
+ } }))] })), !this.hasContentItems && parametersBundle_css.jsx("div", { class: "ui5-shellbar-spacer" }), parametersBundle_css.jsxs("div", { class: "ui5-shellbar-overflow-container-right-child", role: this._rightChildRole, children: [this.hasSearchField && (parametersBundle_css.jsxs(parametersBundle_css.Fragment, { children: [this.showFullWidthSearch && (parametersBundle_css.jsxs("div", { class: "ui5-shellbar-search-full-width-wrapper", style: this.styles.searchField, children: [parametersBundle_css.jsx("div", { class: "ui5-shellbar-search-full-field", children: parametersBundle_css.jsx("slot", { name: "searchField" }) }), parametersBundle_css.jsx(parametersBundle_css.Button, { onClick: this._handleCancelButtonPress, class: "ui5-shellbar-button ui5-shellbar-cancel-button", "data-ui5-stable": "cancel-search", children: this._cancelBtnText })] })), parametersBundle_css.jsx("div", { class: "ui5-shellbar-search-field", style: this.styles.searchField, children: parametersBundle_css.jsx("slot", { name: "searchField" }) }), parametersBundle_css.jsx(parametersBundle_css.Button, { id: `${this._id}-item-1`, class: {
700
+ "ui5-shellbar-button": true,
701
+ "ui5-shellbar-search-button": true,
702
+ "ui5-shellbar-search-item-for-arrow-nav": true,
703
+ ...this.classes.search,
704
+ }, icon: "sap-icon://search", "data-ui5-text": "Search", "data-ui5-notifications-count": this.notificationsCount, "data-ui5-stable": "toggle-search", onClick: this._handleSearchIconPress, tooltip: this._searchBtnOpen, "aria-label": this._searchBtnOpen, "aria-expanded": this.showSearchField, accessibilityAttributes: this.accInfo.search.accessibilityAttributes })] })), this.hasAssistant && (parametersBundle_css.jsx("div", { id: `${this._id}-assistant`, class: this.classes.assistant, children: parametersBundle_css.jsx("slot", { name: "assistant" }) })), this.showNotifications && (parametersBundle_css.jsx(parametersBundle_css.Button, { id: `${this._id}-item-2`, class: {
705
+ "ui5-shellbar-button": true,
706
+ "ui5-shellbar-bell-button": true,
707
+ "ui5-shellbar-items-for-arrow-nav": true,
708
+ ...this.classes.notification,
709
+ }, icon: "sap-icon://bell", "data-ui5-text": "Notifications", "data-ui5-notifications-count": this.notificationsCount, onClick: this._handleNotificationsPress, tooltip: this._notificationsText, accessibilityAttributes: this.accInfo.notifications.accessibilityAttributes, "data-ui5-stable": "notifications" })), this.customItemsInfo.map(item => (parametersBundle_css.jsx(parametersBundle_css.Button, { id: item.id, class: `${item.classes} ui5-shellbar-items-for-arrow-nav`, icon: item.icon, tooltip: item.tooltip, "data-count": item.count, "data-ui5-notifications-count": this.notificationsCount, "data-ui5-external-action-item-id": item.refItemid, "data-ui5-stable": item.stableDomRef, onClick: item.press, accessibilityAttributes: item.accessibilityAttributes, accessibleName: item.accessibleName }, item.id)))] })] }) }), parametersBundle_css.jsx(parametersBundle_css.Button, { id: `${this._id}-item-5`, class: {
710
+ "ui5-shellbar-button": true,
711
+ "ui5-shellbar-overflow-button": true,
712
+ "ui5-shellbar-items-for-arrow-nav": true,
713
+ ...this.classes.overflow,
714
+ }, icon: "sap-icon://overflow", "data-count": this._overflowNotifications, onClick: this._handleOverflowPress, tooltip: this._overflowText, accessibilityAttributes: this.accInfo.overflow.accessibilityAttributes, "data-ui5-stable": "overflow" }), this.hasProfile && profileButton.call(this), this.showProductSwitch && (parametersBundle_css.jsx(parametersBundle_css.Button, { id: `${this._id}-item-4`, class: "ui5-shellbar-no-overflow-button ui5-shellbar-button ui5-shellbar-button-product-switch ui5-shellbar-items-for-arrow-nav", icon: "sap-icon://grid", "data-ui5-text": "Product Switch", onClick: this._handleProductSwitchPress, tooltip: this._productsText, "aria-label": this._productSwitchBtnText, "aria-haspopup": "dialog", "aria-expanded": this.accInfo.products.accessibilityAttributes.expanded, accessibilityAttributes: this.accInfo.products.accessibilityAttributes, "data-ui5-stable": "product-switch" }))] }), PopoversTemplate.call(this)] }));
715
+ }
716
+ function profileButton() {
717
+ return (parametersBundle_css.jsx(parametersBundle_css.Button, { "data-profile-btn": true, id: `${this._id}-item-3`, onClick: this._handleProfilePress, tooltip: this._profileText, class: "ui5-shellbar-button ui5-shellbar-image-button ui5-shellbar-no-overflow-button ui5-shellbar-items-for-arrow-nav", "aria-label": this.imageBtnText, "aria-haspopup": "dialog", accessibilityAttributes: this.accInfo.profile.accessibilityAttributes, "data-ui5-stable": "profile", children: parametersBundle_css.jsx("slot", { name: "profile" }) }));
718
+ }
719
+ function singleLogo() {
720
+ return (parametersBundle_css.jsx("span", { role: this.accLogoRole, class: "ui5-shellbar-logo", "aria-label": this._logoText, title: this._logoText, onClick: this._logoPress, onKeyDown: this._logoKeydown, onKeyUp: this._logoKeyup, tabIndex: 0, "data-ui5-stable": "logo", children: parametersBundle_css.jsx("slot", { name: "logo" }) }));
721
+ }
722
+ function combinedLogo() {
723
+ return (parametersBundle_css.jsxs("div", { role: this.accLogoRole, class: "ui5-shellbar-logo-area", onClick: this._logoPress, tabIndex: 0, onKeyDown: this._logoKeydown, onKeyUp: this._logoKeyup, "aria-label": this._logoAreaText, children: [this.hasLogo && (parametersBundle_css.jsx("span", { class: "ui5-shellbar-logo", title: this._logoText, onClick: this._logoPress, onKeyDown: this._logoKeydown, onKeyUp: this._logoKeyup, "data-ui5-stable": "logo", children: parametersBundle_css.jsx("slot", { name: "logo" }) })), parametersBundle_css.jsx("div", { class: "ui5-shellbar-headings", children: this.primaryTitle && (parametersBundle_css.jsx("h1", { class: "ui5-shellbar-title", children: parametersBundle_css.jsx("bdi", { children: this.primaryTitle }) })) })] }));
724
+ }
725
+
726
+ Icons.p("@ui5/webcomponents-theming", "sap_horizon", async () => parametersBundle_css.defaultThemeBase);
727
+ Icons.p("@ui5/webcomponents-fiori", "sap_horizon", async () => parametersBundle_css.defaultTheme);
728
+ var shellBarStyles = `.ui5-hidden-text{position:absolute;clip:rect(1px,1px,1px,1px);user-select:none;left:-1000px;top:-1000px;pointer-events:none;font-size:0}:host(:not([hidden])){display:inline-block;width:100%;max-width:100%;background:var(--sapShellColor);box-sizing:border-box}:host{--_ui5-v2-9-0_input_placeholder_color: var(--sapShell_InteractiveTextColor);--_ui5-v2-9-0_input_border_radius: var(--_ui5-v2-9-0_shellbar_input_border_radius);--_ui5-v2-9-0_input_focus_border_radius: var(--_ui5-v2-9-0_shellbar_input_focus_border_radius);--_ui5-v2-9-0_input_background_color: var(--_ui5-v2-9-0_shellbar_input_background_color);--_ui5-v2-9-0_input_focus_outline_color: var(--_ui5-v2-9-0_shellbar_input_focus_outline_color);--_ui5-v2-9-0_input_margin_top_bottom: 0;box-shadow:inset 0 -.0625rem 0 0 var(--sapPageHeader_BorderColor)}.ui5-shellbar-root{position:relative;display:flex;justify-content:space-between;align-items:center;height:var(--_ui5-v2-9-0_shellbar_root_height);font-family:"72override",var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;box-sizing:border-box}.ui5-shellbar-menu-button,.ui5-shellbar-button,.ui5-shellbar-image-button,::slotted([ui5-toggle-button]:not([slot^="content"])),::slotted([ui5-button]:not([slot^="content"])){height:2.25rem;padding:0;margin-inline-start:var(--_ui5-v2-9-0-shellbar-overflow-button-margin);border:.0625rem solid var(--sapButton_Lite_BorderColor);background:var(--sapButton_Lite_Background);outline-color:var(--_ui5-v2-9-0_shellbar_logo_outline_color);color:var(--sapShell_TextColor);box-sizing:border-box;cursor:pointer;border-radius:var(--_ui5-v2-9-0_shellbar_button_border_radius);position:relative;font-weight:700;white-space:initial;overflow:initial;text-overflow:initial;line-height:inherit;letter-spacing:inherit;word-spacing:inherit}::slotted([ui5-toggle-button][slot="assistant"]){margin-inline-start:0}.ui5-shellbar-assistant-button{margin-inline-start:var(--_ui5-v2-9-0-shellbar-overflow-button-margin)}::slotted([ui5-button][slot="startButton"]){margin-inline-start:0}::slotted([ui5-toggle-button]:hover),::slotted([ui5-button]:hover),.ui5-shellbar-menu-button.ui5-shellbar-menu-button--interactive:hover,.ui5-shellbar-button:hover,.ui5-shellbar-image-button:hover,::slotted([ui5-button][slot="midContent"]:hover){background:var(--sapShell_Hover_Background);border-color:var(--sapButton_Lite_Hover_BorderColor);color:var(--sapShell_TextColor)}::slotted([ui5-toggle-button][slot="assistant"][pressed]),::slotted([ui5-toggle-button][slot="assistant"][pressed]:hover:not([active])){color:var(--sapShell_Assistant_ForegroundColor)}::slotted([ui5-toggle-button][active]),::slotted([ui5-button][active]),.ui5-shellbar-menu-button.ui5-shellbar-menu-button--interactive:active,.ui5-shellbar-button[active],.ui5-shellbar-image-button:active{background:var(--sapShell_Active_Background);border-color:var(--sapButton_Lite_Active_BorderColor);color:var(--_ui5-v2-9-0_shellbar_button_active_color)}:host([desktop]) .ui5-shellbar-menu-button.ui5-shellbar-menu-button--interactive:focus,.ui5-shellbar-menu-button.ui5-shellbar-menu-button--interactive:focus-visible{outline:var(--_ui5-v2-9-0_shellbar_logo_outline);outline-offset:var(--_ui5-v2-9-0_shellbar_outline_offset)}slot[name=profile]{min-width:0}::slotted([ui5-avatar][slot="profile"]){display:block;width:2rem;height:2rem;min-width:0;min-height:2rem;pointer-events:none}.ui5-shellbar-menu-button.ui5-shellbar-menu-button--interactive::-moz-focus-inner{border:none}.ui5-shellbar-menu-button-arrow,.ui5-shellbar-menu-button-title,.ui5-shellbar-title{display:inline-block;font-family:var(--sapFontSemiboldFamily);margin:0;font-size:var(--_ui5-v2-9-0_shellbar_menu_button_title_font_size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--sapShell_SubBrand_TextColor)}:host(:not([primary-title])) .ui5-shellbar-menu-button{min-width:2.25rem;justify-content:center}.ui5-shellbar-secondary-title{display:inline-block;font-size:var(--sapFontSmallSize);color:var(--sapShell_TextColor);font-weight:400;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;margin:0;text-align:start}.ui5-shellbar-headings{display:flex;flex-direction:column;justify-content:center;height:100%;overflow:hidden;margin-left:.25rem}.ui5-shellbar-menu-button--interactive .ui5-shellbar-menu-button-arrow{margin-inline-start:.375rem}.ui5-shellbar-overflow-container{display:flex;justify-content:center;align-items:center;height:100%;overflow:hidden}.ui5-shellbar-overflow-container-middle{align-self:flex-start;height:var(--_ui5-v2-9-0_shellbar_overflow_container_middle_height);width:0;flex-shrink:0}.ui5-shellbar-mid-content{height:var(--_ui5-v2-9-0_shellbar_overflow_container_middle_height)}:host([breakpoint-size="S"]) .ui5-shellbar-menu-button{margin-inline-start:0}:host([breakpoint-size="S"]){padding:0 1rem}:host([breakpoint-size="S"]) .ui5-shellbar-search-full-width-wrapper{padding:0 1rem}:host([breakpoint-size="M"]){padding:0 2rem}:host([breakpoint-size="M"]) .ui5-shellbar-search-full-width-wrapper{padding:0 2rem}:host([breakpoint-size="L"]){padding:0 2rem}:host([breakpoint-size="XL"]){padding:0 3rem}:host([breakpoint-size="XXL"]){padding:0 3rem}.ui5-shellbar-logo{overflow:hidden;cursor:pointer;max-height:2rem;max-width:3.75rem}.ui5-shellbar-logo-area{overflow:hidden;display:flex;align-items:center;padding:.25rem .5rem .25rem .25rem;box-sizing:border-box;cursor:pointer;background:var(--sapButton_Lite_Background);border:1px solid var(--sapButton_Lite_BorderColor);color:var(--sapShell_TextColor);margin-inline-start:.125rem}.ui5-shellbar-logo:focus,.ui5-shellbar-logo-area:focus{outline:var(--_ui5-v2-9-0_shellbar_logo_outline);border-radius:var(--_ui5-v2-9-0_shellbar_logo_border_radius)}.ui5-shellbar-overflow-container>.ui5-shellbar-logo:hover,.ui5-shellbar-logo-area:hover{box-shadow:var(--_ui5-v2-9-0_shellbar_button_box_shadow);border-radius:var(--_ui5-v2-9-0_shellbar_logo_border_radius)}.ui5-shellbar-logo-area:active:focus{background:var(--sapShell_Active_Background);border:1px solid var(--sapButton_Lite_Active_BorderColor);color:var(--sapShell_Active_TextColor)}.ui5-shellbar-menu-button.ui5-shellbar-menu-button--interactive:hover{box-shadow:var(--_ui5-v2-9-0_shellbar_button_box_shadow)}.ui5-shellbar-menu-button.ui5-shellbar-menu-button--interactive:active{box-shadow:var(--_ui5-v2-9-0_shellbar_button_box_shadow_active)}.ui5-shellbar-menu-button.ui5-shellbar-menu-button--interactive:active .ui5-shellbar-menu-button-arrow,.ui5-shellbar-menu-button.ui5-shellbar-menu-button--interactive:active .ui5-shellbar-menu-button-title{color:var(--sapShell_Active_TextColor)}.ui5-shellbar-menu-button .ui5-shellbar-logo:hover{box-shadow:none}.ui5-shellbar-button{width:2.5rem;box-sizing:border-box}.ui5-shellbar-button,::slotted([ui5-button][slot="startButton"]){--_ui5-v2-9-0_button_focused_border: var(--_ui5-v2-9-0_shellbar_button_focused_border)}.ui5-shellbar-search-button{--_ui5-v2-9-0_button_focused_border_radius: var(--_ui5-v2-9-0_shellbar_search_button_border_radius);--_ui5-v2-9-0_shellbar_button_border_radius: var(--_ui5-v2-9-0_shellbar_search_button_border_radius);height:var(--_ui5-v2-9-0_shellbar_search_button_size);width:var(--_ui5-v2-9-0_shellbar_search_button_size);min-width:var(--_ui5-v2-9-0_shellbar_search_button_size)}.ui5-shellbar-image-button{display:flex;justify-content:center;align-items:center;min-width:auto;height:2.5rem;--_ui5-v2-9-0_button_focused_border_radius: var(--_ui5-v2-9-0_shellbar_image_button_border_radius);border-radius:var(--_ui5-v2-9-0_shellbar_image_button_border_radius)}.ui5-shellbar-overflow-container-left{padding:0;justify-content:flex-start;max-width:75%;flex-shrink:0}.ui5-shellbar-overflow-container-left>:nth-child(n){margin-inline-end:.5rem}.ui5-shellbar-menu-button{white-space:nowrap;overflow:hidden;display:flex;align-items:center;padding:.25rem .5rem;cursor:text;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ui5-shellbar-menu-button.ui5-shellbar-menu-button--interactive{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer;background:var(--sapButton_Lite_Background);border:var(--_ui5-v2-9-0_shellbar_button_border);color:var(--sapShell_TextColor)}:host(:not([with-logo])) .ui5-shellbar-menu-button{margin-inline-start:0}.ui5-shellbar-overflow-container-right{flex-grow:1;justify-content:flex-end}.ui5-shellbar-overflow-container-right .ui5-shellbar-overflow-container-right-child{display:flex;justify-content:flex-end;height:inherit;align-items:center}.ui5-shellbar-overflow-container-right-inner{display:flex;justify-content:flex-end;align-items:center;flex-grow:1;min-width:max-content}.ui5-shellbar-spacer{flex-grow:1;height:1px;flex-basis:1rem;flex-shrink:1}.ui5-shellbar-separator{flex-grow:0;flex-shrink:0;height:1rem;width:1px;background-color:var(--sapToolbar_SeparatorColor)}.ui5-shellbar-separator-end{margin-inline-start:.5rem}.ui5-shellbar-overflow-container-right-child .ui5-shellbar-button[data-count]:has(+.ui5-shellbar-overflow-button):before{inset-inline-end:var(--_ui5-v2-9-0-shellbar-notification-btn-count-offset)}:host([breakpoint-size="S"]) .ui5-shellbar-overflow-container-right{padding-inline-start:0}::slotted([hidden]){visibility:hidden;order:-1;position:absolute}.ui5-shellbar-content-item{display:flex;align-items:center;flex-shrink:0;padding-inline-start:var(--_ui5-v2-9-0-shellbar-content-margin-start)}:host(:not([notifications-count])) .ui5-shellbar-bell-button{position:relative}:host([notifications-count]:not([notifications-count=""])) .ui5-shellbar-bell-button:before,.ui5-shellbar-button[data-count]:before{position:absolute;width:auto;height:1rem;min-width:1rem;background:var(--sapContent_BadgeBackground);border:var(--_ui5-v2-9-0_shellbar_button_badge_border);color:var(--sapContent_BadgeTextColor);top:-.25rem;right:-.25rem;padding:0 .3125rem;border-radius:.5rem;display:flex;justify-content:center;align-items:center;font-size:var(--sapFontSmallSize);font-family:"72override",var(--sapFontFamily);z-index:2;box-sizing:border-box}:host([notifications-count]:not([notifications-count=""])) .ui5-shellbar-bell-button:before{content:attr(data-ui5-notifications-count);inset-inline-end:var(--_ui5-v2-9-0-shellbar-notification-btn-count-offset)}.ui5-shellbar-button[data-count]:before{content:attr(data-count)}.ui5-shellbar-button[data-count=" "]:before{height:.75rem;min-width:.75rem}.ui5-shellbar-menu-button{margin-inline-start:.5rem}.ui5-shellbar-search-field{padding-inline-start:var(--_ui5-v2-9-0-shellbar-content-margin-start);min-width:var(--_ui5-v2-9-0_shellbar_search_field_width);align-items:center;flex-grow:1;margin-inline-start:.5rem}.ui5-shellbar-overflow-container-right-child>:first-child,.ui5-shellbar-search-field:first-child+.ui5-shellbar-button:not(.ui5-shellbar-search-button){margin-inline-start:0}.ui5-shellbar-search-full-width-wrapper .ui5-shellbar-search-full-field{height:2.25rem;width:100%}.ui5-shellbar-search-full-width-wrapper{position:absolute;top:0;left:0;background:var(--sapShellColor);height:100%;width:100%;z-index:100;display:flex;align-items:center;box-sizing:border-box}.ui5-shellbar-search-full-width-wrapper .ui5-shellbar-button{width:auto}::slotted([ui5-input]){background:var(--_ui5-v2-9-0_shellbar_search_field_background);border:var(--_ui5-v2-9-0_shellbar_search_field_border);box-shadow:var(--_ui5-v2-9-0_shellbar_search_field_box_shadow);color:var(--_ui5-v2-9-0_shellbar_search_field_color);height:2.25rem;width:100%;min-width:var(--_ui5-v2-9-0_shellbar_search_field_width)}:host([breakpoint-size="M"]) ::slotted([ui5-input]),:host([breakpoint-size="S"]) ::slotted([ui5-input]){min-width:1rem}:host([breakpoint-size="M"][show-search-field]) .ui5-shellbar-overflow-container-right-child{flex-grow:1}::slotted([ui5-input]:hover){background:var(--_ui5-v2-9-0_shellbar_search_field_background_hover);box-shadow:var(--_ui5-v2-9-0_shellbar_search_field_box_shadow_hover)}::slotted([ui5-input][focused]){outline:var(--_ui5-v2-9-0_shellbar_search_field_outline_focused)}::slotted([slot="logo"]){max-height:2rem;max-width:3.75rem;pointer-events:none}.ui5-shellbar-co-pilot-placeholder{width:2.75rem;height:2.75rem}.ui5-shellbar-coPilot-pressed,.ui5-shellbar-coPilot-pressed:hover{color:var(--sapShell_Assistant_ForegroundColor)}::slotted([ui5-button][slot="startButton"]){margin-inline:0 .5rem;justify-content:center;align-items:center}::slotted([ui5-button][data-profile-btn]){width:auto}::slotted(.ui5-shellbar-hidden-button),.ui5-shellbar-hidden-button,.ui5-shellbar-invisible-button{visibility:hidden;order:-1;opacity:0;min-width:0;width:0;margin:0;padding:0;padding-inline-start:0;border:0;margin-inline-start:0}
729
+ `;
730
+
731
+ Icons.p("@ui5/webcomponents-theming", "sap_horizon", async () => parametersBundle_css.defaultThemeBase);
732
+ Icons.p("@ui5/webcomponents-fiori", "sap_horizon", async () => parametersBundle_css.defaultTheme);
733
+ var ShellBarPopoverCss = `.ui5-shellbar-menu-popover::part(content),.ui5-shellbar-overflow-popover::part(content){padding:0}.ui5-shellbar-overflow-popover [ui5-li]::part(icon){color:var(--sapList_TextColor)}.ui5-shellbar-overflow-popover [ui5-li]::part(title){font-size:var(--sapFontSize)}.ui5-shellbar-overflow-popover [ui5-li]:after{position:relative;width:fit-content;height:1rem;min-width:1rem;background:var(--sapContent_BadgeBackground);border:var(--_ui5-v2-9-0_shellbar_button_badge_border);color:var(--sapContent_BadgeTextColor);bottom:calc(100% + .0625rem);left:1.25rem;padding:0 .3125rem;border-radius:.5rem;display:flex;justify-content:center;align-items:center;font-size:var(--sapFontSmallSize);font-family:"72override",var(--sapFontFamily);z-index:2;box-sizing:border-box;pointer-events:none}.ui5-shellbar-overflow-popover [ui5-li][data-count]:after{content:attr(data-count)}
734
+ `;
735
+
736
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
737
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
738
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
739
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
740
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
741
+ };
742
+ var ShellBar_1;
743
+ const RESIZE_THROTTLE_RATE = 200; // ms
744
+ // actions always visible in lean mode, order is important
745
+ const PREDEFINED_PLACE_ACTIONS = ["feedback", "sys-help"];
746
+ /**
747
+ * @class
748
+ * ### Overview
749
+ *
750
+ * The `ui5-shellbar` is meant to serve as an application header
751
+ * and includes numerous built-in features, such as: logo, profile image/icon, title, search field, notifications and so on.
752
+ *
753
+ * ### Stable DOM Refs
754
+ *
755
+ * You can use the following stable DOM refs for the `ui5-shellbar`:
756
+ *
757
+ * - logo
758
+ * - notifications
759
+ * - overflow
760
+ * - profile
761
+ * - product-switch
762
+ *
763
+ * ### Keyboard Handling
764
+ *
765
+ * #### Fast Navigation
766
+ * This component provides a build in fast navigation group which can be used via [F6] / [Shift] + [F6] / [Ctrl] + [Alt/Option] / [Down] or [Ctrl] + [Alt/Option] + [Up].
767
+ * In order to use this functionality, you need to import the following module:
768
+ * `import "@ui5/webcomponents-base/dist/features/F6Navigation.js"`
769
+ *
770
+ * ### ES6 Module Import
771
+ * `import "@ui5/webcomponents-fiori/dist/ShellBar.js";`
772
+ * @csspart root - Used to style the outermost wrapper of the `ui5-shellbar`
773
+ * @constructor
774
+ * @extends UI5Element
775
+ * @public
776
+ * @since 0.8.0
777
+ */
778
+ let ShellBar = ShellBar_1 = class ShellBar extends webcomponentsBase.b {
779
+ static get FIORI_3_BREAKPOINTS() {
780
+ return [
781
+ 599,
782
+ 1023,
783
+ 1439,
784
+ 1919,
785
+ 10000,
786
+ ];
787
+ }
788
+ static get FIORI_3_BREAKPOINTS_MAP() {
789
+ return {
790
+ "599": "S",
791
+ "1023": "M",
792
+ "1439": "L",
793
+ "1919": "XL",
794
+ "10000": "XXL",
795
+ };
796
+ }
797
+ constructor() {
798
+ super();
799
+ /**
800
+ * Defines, if the notification icon would be displayed.
801
+ * @default false
802
+ * @public
803
+ */
804
+ this.showNotifications = false;
805
+ /**
806
+ * Defines, if the product switch icon would be displayed.
807
+ * @default false
808
+ * @public
809
+ */
810
+ this.showProductSwitch = false;
811
+ /**
812
+ * Defines, if the Search Field would be displayed when there is a valid `searchField` slot.
813
+ *
814
+ * **Note:** By default the Search Field is not displayed.
815
+ * @default false
816
+ * @public
817
+ */
818
+ this.showSearchField = false;
819
+ /**
820
+ * Defines additional accessibility attributes on different areas of the component.
821
+ *
822
+ * The accessibilityAttributes object has the following fields,
823
+ * where each field is an object supporting one or more accessibility attributes:
824
+ *
825
+ * - **logo** - `logo.role` and `logo.name`.
826
+ * - **notifications** - `notifications.expanded` and `notifications.hasPopup`.
827
+ * - **profile** - `profile.expanded`, `profile.hasPopup` and `profile.name`.
828
+ * - **product** - `product.expanded` and `product.hasPopup`.
829
+ * - **search** - `search.hasPopup`.
830
+ * - **overflow** - `overflow.expanded` and `overflow.hasPopup`.
831
+ *
832
+ * The accessibility attributes support the following values:
833
+ *
834
+ * - **role**: Defines the accessible ARIA role of the logo area.
835
+ * Accepts the following string values: `button` or `link`.
836
+ *
837
+ * - **expanded**: Indicates whether the button, or another grouping element it controls,
838
+ * is currently expanded or collapsed.
839
+ * Accepts the following string values: `true` or `false`.
840
+ *
841
+ * - **hasPopup**: Indicates the availability and type of interactive popup element,
842
+ * such as menu or dialog, that can be triggered by the button.
843
+ *
844
+ * Accepts the following string values: `dialog`, `grid`, `listbox`, `menu` or `tree`.
845
+ * - **name**: Defines the accessible ARIA name of the area.
846
+ * Accepts any string.
847
+ *
848
+ * @default {}
849
+ * @public
850
+ * @since 1.10.0
851
+ */
852
+ this.accessibilityAttributes = {};
853
+ /**
854
+ * @private
855
+ */
856
+ this.breakpointSize = "S";
857
+ /**
858
+ * @private
859
+ */
860
+ this.withLogo = false;
861
+ this._itemsInfo = [];
862
+ this._contentInfo = [];
863
+ this._menuPopoverExpanded = false;
864
+ this._overflowPopoverExpanded = false;
865
+ this.showFullWidthSearch = false;
866
+ this._cachedHiddenContent = [];
867
+ this._lastOffsetWidth = 0;
868
+ this._observableContent = [];
869
+ this._autoRestoreSearchField = false;
870
+ this._hiddenIcons = [];
871
+ this._isInitialRendering = true;
872
+ this._overflowNotifications = null;
873
+ // marks if preventDefault() is called in item's press handler
874
+ this._defaultItemPressPrevented = false;
875
+ this.contentItemsObserver = new MutationObserver(() => {
876
+ this._handleActionsOverflow();
877
+ });
878
+ this._headerPress = () => {
879
+ if (this.hasMenuItems) {
880
+ const menuPopover = this._getMenuPopover();
881
+ menuPopover.opener = this.shadowRoot.querySelector(".ui5-shellbar-menu-button");
882
+ menuPopover.open = true;
883
+ }
884
+ };
885
+ this._handleResize = n(() => {
886
+ this.menuPopover = this._getMenuPopover();
887
+ this.overflowPopover = this._getOverflowPopover();
888
+ this.overflowPopover.open = false;
889
+ if (this._lastOffsetWidth !== this.offsetWidth) {
890
+ this._overflowActions();
891
+ if (this.autoSearchField) {
892
+ this._updateSearchFieldState();
893
+ }
894
+ }
895
+ }, RESIZE_THROTTLE_RATE);
896
+ }
897
+ _updateSearchFieldState() {
898
+ const spacerWidth = this.shadowRoot.querySelector(".ui5-shellbar-spacer") ? this.shadowRoot.querySelector(".ui5-shellbar-spacer").getBoundingClientRect().width : 0;
899
+ const searchFieldWidth = this.domCalculatedValues("--_ui5_shellbar_search_field_width");
900
+ if (this.showFullWidthSearch) {
901
+ this.showSearchField = false;
902
+ return;
903
+ }
904
+ if ((spacerWidth <= searchFieldWidth && this.contentItemsHidden.length !== 0) && this.showSearchField) {
905
+ this.showSearchField = false;
906
+ this._autoRestoreSearchField = true;
907
+ }
908
+ else if (spacerWidth > searchFieldWidth && this._autoRestoreSearchField) {
909
+ this.showSearchField = true;
910
+ this._autoRestoreSearchField = false;
911
+ }
912
+ }
913
+ _onKeyDown(e) {
914
+ const items = this._getVisibleAndInteractiveItems();
915
+ const activeElement = webcomponentsBase.t();
916
+ const currentIndex = items.findIndex(el => el === activeElement);
917
+ if (webcomponentsBase.K(e) || webcomponentsBase.c(e)) {
918
+ e.preventDefault(); // Prevent the default behavior to avoid any further automatic focus movemen
919
+ // Focus navigation based on the key pressed
920
+ if (webcomponentsBase.K(e)) {
921
+ this._focusPreviousItem(items, currentIndex);
922
+ }
923
+ else if (webcomponentsBase.c(e)) {
924
+ this._focusNextItem(items, currentIndex);
925
+ }
926
+ }
927
+ }
928
+ _focusNextItem(items, currentIndex) {
929
+ if (currentIndex < items.length - 1) {
930
+ (items[currentIndex + 1]).focus(); // Focus the next element
931
+ }
932
+ }
933
+ _focusPreviousItem(items, currentIndex) {
934
+ if (currentIndex > 0) {
935
+ (items[currentIndex - 1]).focus(); // Focus the previous element
936
+ }
937
+ }
938
+ _isVisible(element) {
939
+ const style = getComputedStyle(element);
940
+ return style.display !== "none" && style.visibility !== "hidden" && element.offsetWidth > 0 && element.offsetHeight > 0;
941
+ }
942
+ _getNavigableContent() {
943
+ const elements = [
944
+ ...this.startButton,
945
+ ...this.logo,
946
+ ...this.shadowRoot.querySelectorAll(".ui5-shellbar-logo"),
947
+ ...this.shadowRoot.querySelectorAll(".ui5-shellbar-logo-area"),
948
+ ...this.shadowRoot.querySelectorAll(".ui5-shellbar-menu-button"),
949
+ ...this.contentItems,
950
+ ...this._getRightChildItems(),
951
+ ];
952
+ return elements.map((element) => {
953
+ const component = element;
954
+ if (component.isUI5Element) {
955
+ return component.getFocusDomRef();
956
+ }
957
+ return element;
958
+ }).filter(el => !!el);
959
+ }
960
+ _getRightChildItems() {
961
+ return [
962
+ ...this.searchField,
963
+ ...this.shadowRoot.querySelectorAll(".ui5-shellbar-search-item-for-arrow-nav"),
964
+ ...this.assistant,
965
+ ...this.shadowRoot.querySelectorAll(".ui5-shellbar-items-for-arrow-nav"),
966
+ ];
967
+ }
968
+ _getVisibleAndInteractiveItems() {
969
+ const items = this._getNavigableContent();
970
+ const visibleAndInteractiveItems = items.filter(item => {
971
+ return this._isVisible(item) && item.tabIndex === 0;
972
+ });
973
+ return visibleAndInteractiveItems;
974
+ }
975
+ _menuItemPress(e) {
976
+ const shouldContinue = this.fireDecoratorEvent("menu-item-click", {
977
+ item: e.detail.item,
978
+ });
979
+ if (shouldContinue) {
980
+ this.menuPopover.open = false;
981
+ }
982
+ }
983
+ _logoPress() {
984
+ this.fireDecoratorEvent("logo-click", {
985
+ targetRef: this.shadowRoot.querySelector(".ui5-shellbar-logo"),
986
+ });
987
+ }
988
+ _menuPopoverBeforeOpen() {
989
+ this._menuPopoverExpanded = true;
990
+ if (this.menuPopover.content && this.menuPopover.content.length) {
991
+ this.menuPopover.content[0].focusFirstItem();
992
+ }
993
+ }
994
+ _menuPopoverAfterClose() {
995
+ this._menuPopoverExpanded = false;
996
+ }
997
+ _overflowPopoverBeforeOpen() {
998
+ this._overflowPopoverExpanded = true;
999
+ if (this.overflowPopover.content && this.overflowPopover.content.length) {
1000
+ this.overflowPopover.content[0].focusFirstItem();
1001
+ }
1002
+ }
1003
+ _overflowPopoverAfterClose() {
1004
+ this._overflowPopoverExpanded = false;
1005
+ }
1006
+ _logoKeyup(e) {
1007
+ if (webcomponentsBase.i(e)) {
1008
+ this._logoPress();
1009
+ }
1010
+ }
1011
+ _logoKeydown(e) {
1012
+ if (webcomponentsBase.i(e)) {
1013
+ e.preventDefault();
1014
+ return;
1015
+ }
1016
+ if (webcomponentsBase.b$1(e)) {
1017
+ this._logoPress();
1018
+ }
1019
+ }
1020
+ _calculateCSSREMValue(styleSet, propertyName) {
1021
+ return Number(styleSet.getPropertyValue(propertyName).replace("rem", "")) * parseInt(getComputedStyle(document.body).getPropertyValue("font-size"));
1022
+ }
1023
+ _parsePxValue(styleSet, propertyName) {
1024
+ return Number(styleSet.getPropertyValue(propertyName).replace("px", ""));
1025
+ }
1026
+ domCalculatedValues(cssVar) {
1027
+ const shellbarComputerStyle = getComputedStyle(this.getDomRef());
1028
+ return this._calculateCSSREMValue(shellbarComputerStyle, Icons.d$1(cssVar)); // px
1029
+ }
1030
+ onBeforeRendering() {
1031
+ this.withLogo = this.hasLogo;
1032
+ this._hiddenIcons = this._itemsInfo.filter(info => {
1033
+ const isHidden = (info.classes.indexOf("ui5-shellbar-hidden-button") !== -1);
1034
+ const isSet = info.classes.indexOf("ui5-shellbar-invisible-button") === -1;
1035
+ const isOverflowIcon = info.classes.indexOf("ui5-shellbar-overflow-button") !== -1;
1036
+ const isImageIcon = info.classes.indexOf("ui5-shellbar-image-button") !== -1;
1037
+ const shouldStayOnScreen = isOverflowIcon || (isImageIcon && this.hasProfile);
1038
+ return isHidden && isSet && !shouldStayOnScreen;
1039
+ });
1040
+ this._observeContentItems();
1041
+ }
1042
+ onAfterRendering() {
1043
+ this._lastOffsetWidth = this.offsetWidth;
1044
+ this._overflowActions();
1045
+ this.onInitialRendering();
1046
+ }
1047
+ async onInitialRendering() {
1048
+ if (this._isInitialRendering) {
1049
+ await Icons.f$1();
1050
+ if (this.autoSearchField) {
1051
+ this._updateSearchFieldState();
1052
+ }
1053
+ }
1054
+ this._isInitialRendering = false;
1055
+ }
1056
+ /**
1057
+ * Closes the overflow area.
1058
+ * Useful to manually close the overflow after having suppressed automatic closing with preventDefault() of ShellbarItem's press event
1059
+ * @public
1060
+ */
1061
+ closeOverflow() {
1062
+ if (this.overflowPopover) {
1063
+ this.overflowPopover.open = false;
1064
+ }
1065
+ }
1066
+ _handleBarBreakpoints() {
1067
+ const width = this.getBoundingClientRect().width;
1068
+ const breakpoints = ShellBar_1.FIORI_3_BREAKPOINTS;
1069
+ const size = breakpoints.find(bp1 => width <= bp1) || ShellBar_1.FIORI_3_BREAKPOINTS[ShellBar_1.FIORI_3_BREAKPOINTS.length - 1];
1070
+ const mappedSize = ShellBar_1.FIORI_3_BREAKPOINTS_MAP[size];
1071
+ if (this.breakpointSize !== mappedSize) {
1072
+ this.breakpointSize = mappedSize;
1073
+ }
1074
+ }
1075
+ _hideItems(items) {
1076
+ items.forEach(item => {
1077
+ if (item.classes.indexOf("ui5-shellbar-no-overflow-button") === -1) {
1078
+ item.classes = `${item.classes} ui5-shellbar-hidden-button`;
1079
+ }
1080
+ });
1081
+ return items;
1082
+ }
1083
+ _resetItemsVisibility(items) {
1084
+ items.forEach(item => {
1085
+ item.classList.remove("ui5-shellbar-hidden-button");
1086
+ });
1087
+ }
1088
+ _handleActionsOverflow() {
1089
+ const inner = this.overflowInner;
1090
+ const wrapper = this.overflowWrapper;
1091
+ const hidableDomElements = this.hidableDomElements;
1092
+ const hiddenItems = [];
1093
+ let lastHiddenIndex = 0;
1094
+ this._resetItemsVisibility(hidableDomElements);
1095
+ for (let i = 0; i < hidableDomElements.length; i++) {
1096
+ if (inner?.offsetWidth === wrapper?.offsetWidth) {
1097
+ lastHiddenIndex = i;
1098
+ break;
1099
+ }
1100
+ const item = hidableDomElements[i];
1101
+ hiddenItems.push(item.id);
1102
+ item.classList.add("ui5-shellbar-hidden-button");
1103
+ }
1104
+ if (hiddenItems.length === 1 && !this.showSearchField) {
1105
+ const nextItemToHide = hidableDomElements[++lastHiddenIndex];
1106
+ if (nextItemToHide) {
1107
+ hiddenItems.push(nextItemToHide.id);
1108
+ }
1109
+ }
1110
+ const itemsInfo = this._getItemsInfo().filter(item => item.show && item.classes.indexOf("ui5-shellbar-no-overflow-button") === -1);
1111
+ const contentInfo = this._getContentInfo().sort((a, b) => a.hideOrder - b.hideOrder);
1112
+ const itemsToHide = [...itemsInfo, ...contentInfo].filter(item => hiddenItems.includes(item.id));
1113
+ this._hideItems(itemsToHide);
1114
+ return { itemsInfo, contentInfo };
1115
+ }
1116
+ _overflowActions() {
1117
+ this._handleBarBreakpoints();
1118
+ const { itemsInfo, contentInfo } = this._handleActionsOverflow();
1119
+ this._updateItemsInfo(itemsInfo);
1120
+ this._updateContentInfo(contentInfo);
1121
+ this._updateOverflowNotifications();
1122
+ this.showFullWidthSearch = this.overflowed;
1123
+ }
1124
+ _toggleActionPopover() {
1125
+ const overflowButton = this.shadowRoot.querySelector(".ui5-shellbar-overflow-button");
1126
+ const overflowPopover = this._getOverflowPopover();
1127
+ overflowPopover.opener = overflowButton;
1128
+ overflowPopover.open = true;
1129
+ }
1130
+ onEnterDOM() {
1131
+ webcomponentsBase.f$1.register(this, this._handleResize);
1132
+ if (Icons.f$2()) {
1133
+ this.setAttribute("desktop", "");
1134
+ }
1135
+ }
1136
+ onExitDOM() {
1137
+ this.contentItemsObserver.disconnect();
1138
+ this._observableContent = [];
1139
+ webcomponentsBase.f$1.deregister(this, this._handleResize);
1140
+ }
1141
+ _handleSearchIconPress() {
1142
+ const searchButtonRef = this.shadowRoot.querySelector(".ui5-shellbar-search-button");
1143
+ const defaultPrevented = !this.fireDecoratorEvent("search-button-click", {
1144
+ targetRef: searchButtonRef,
1145
+ searchFieldVisible: this.showSearchField,
1146
+ });
1147
+ if (defaultPrevented) {
1148
+ return;
1149
+ }
1150
+ this.showSearchField = !this.showSearchField;
1151
+ if (!this.showSearchField) {
1152
+ return;
1153
+ }
1154
+ const input = this.searchField[0];
1155
+ // update the state immediately
1156
+ if (input) {
1157
+ input.focused = true;
1158
+ }
1159
+ // move the focus later
1160
+ setTimeout(() => {
1161
+ if (input) {
1162
+ input.focus();
1163
+ }
1164
+ }, 100);
1165
+ }
1166
+ async _handleActionListClick() {
1167
+ if (!this._defaultItemPressPrevented) {
1168
+ this.closeOverflow();
1169
+ // wait for DOM to be updated when ui5-popover is closed, otherwise if Enter key is hold
1170
+ // there will be no visual indication that this has happened
1171
+ await Icons.f$1();
1172
+ }
1173
+ this._defaultItemPressPrevented = false;
1174
+ }
1175
+ _handleCustomActionPress(e) {
1176
+ const target = e.target;
1177
+ const refItemId = target.getAttribute("data-ui5-external-action-item-id");
1178
+ if (refItemId) {
1179
+ const shellbarItem = this.items.find(item => {
1180
+ return item._id === refItemId;
1181
+ });
1182
+ const prevented = shellbarItem.fireClickEvent(e);
1183
+ this._defaultItemPressPrevented = prevented;
1184
+ }
1185
+ }
1186
+ _handleOverflowPress() {
1187
+ this._toggleActionPopover();
1188
+ }
1189
+ _handleNotificationsPress(e) {
1190
+ const notificationIconRef = this.shadowRoot.querySelector(".ui5-shellbar-bell-button"), target = e.target;
1191
+ this._defaultItemPressPrevented = !this.fireDecoratorEvent("notifications-click", {
1192
+ targetRef: notificationIconRef.classList.contains("ui5-shellbar-hidden-button") ? target : notificationIconRef,
1193
+ });
1194
+ }
1195
+ _handleProfilePress() {
1196
+ this.fireDecoratorEvent("profile-click", {
1197
+ targetRef: this.shadowRoot.querySelector(".ui5-shellbar-image-button"),
1198
+ });
1199
+ }
1200
+ _handleCancelButtonPress() {
1201
+ this.showSearchField = false;
1202
+ }
1203
+ _handleProductSwitchPress(e) {
1204
+ const buttonRef = this.shadowRoot.querySelector(".ui5-shellbar-button-product-switch"), target = e.target;
1205
+ this._defaultItemPressPrevented = !this.fireDecoratorEvent("product-switch-click", {
1206
+ targetRef: buttonRef.classList.contains("ui5-shellbar-hidden-button") ? target : buttonRef,
1207
+ });
1208
+ }
1209
+ /**
1210
+ * Returns the `logo` DOM ref.
1211
+ * @public
1212
+ * @default null
1213
+ * @since 1.0.0-rc.16
1214
+ */
1215
+ get logoDomRef() {
1216
+ return this.shadowRoot.querySelector(`*[data-ui5-stable="logo"]`);
1217
+ }
1218
+ /**
1219
+ * Returns the `notifications` icon DOM ref.
1220
+ * @public
1221
+ * @default null
1222
+ * @since 1.0.0-rc.16
1223
+ */
1224
+ get notificationsDomRef() {
1225
+ return this.shadowRoot.querySelector(`*[data-ui5-stable="notifications"]`);
1226
+ }
1227
+ /**
1228
+ * Returns the `overflow` icon DOM ref.
1229
+ * @public
1230
+ * @default null
1231
+ * @since 1.0.0-rc.16
1232
+ */
1233
+ get overflowDomRef() {
1234
+ return this.shadowRoot.querySelector(`*[data-ui5-stable="overflow"]`);
1235
+ }
1236
+ /**
1237
+ * Returns the `profile` icon DOM ref.
1238
+ * @public
1239
+ * @default null
1240
+ * @since 1.0.0-rc.16
1241
+ */
1242
+ get profileDomRef() {
1243
+ return this.shadowRoot.querySelector(`*[data-ui5-stable="profile"]`);
1244
+ }
1245
+ /**
1246
+ * Returns the `product-switch` icon DOM ref.
1247
+ * @public
1248
+ * @default null
1249
+ * @since 1.0.0-rc.16
1250
+ */
1251
+ get productSwitchDomRef() {
1252
+ return this.shadowRoot.querySelector(`*[data-ui5-stable="product-switch"]`);
1253
+ }
1254
+ _getContentInfo() {
1255
+ return [
1256
+ ...this.contentItemsSorted.map(item => {
1257
+ return {
1258
+ hideOrder: parseInt(item.getAttribute("data-hide-order") || "0"),
1259
+ id: item.slot,
1260
+ classes: "ui5-shellbar-content-item",
1261
+ show: false,
1262
+ };
1263
+ }),
1264
+ ];
1265
+ }
1266
+ /**
1267
+ * Returns all items that will be placed in the right of the bar as icons / dom elements.
1268
+ */
1269
+ _getItemsInfo() {
1270
+ const items = [
1271
+ {
1272
+ icon: search,
1273
+ text: this._searchText,
1274
+ classes: `${this.searchField.length ? "" : "ui5-shellbar-invisible-button"} ui5-shellbar-search-button ui5-shellbar-button`,
1275
+ id: `${this._id}-item-${1}`,
1276
+ press: this._handleSearchIconPress.bind(this),
1277
+ show: !!this.searchField.length,
1278
+ tooltip: this._searchText,
1279
+ },
1280
+ {
1281
+ icon: da,
1282
+ text: "Assistant",
1283
+ classes: `${this.assistant.length ? "" : "ui5-shellbar-invisible-button"} ui5-shellbar-assistant-button`,
1284
+ id: `${this._id}-assistant`,
1285
+ show: !!this.assistant.length,
1286
+ press: () => { },
1287
+ tooltip: this.assistant.length ? (this.assistant[0].getAttribute("text") || this.assistant[0].getAttribute("title") || undefined) : undefined,
1288
+ },
1289
+ {
1290
+ icon: bell,
1291
+ title: this._notificationsText,
1292
+ text: ShellBar_1.i18nBundle.getText(i18nDefaults.SHELLBAR_NOTIFICATIONS_NO_COUNT),
1293
+ count: this.notificationsCount,
1294
+ classes: `${this.showNotifications ? "" : "ui5-shellbar-invisible-button"} ui5-shellbar-bell-button ui5-shellbar-button`,
1295
+ id: `${this._id}-item-${2}`,
1296
+ show: this.showNotifications,
1297
+ press: this._handleNotificationsPress.bind(this),
1298
+ tooltip: this._notificationsText,
1299
+ },
1300
+ // sort feedback and help to always be last
1301
+ ...this.items.sort((a, b) => {
1302
+ const aIndex = PREDEFINED_PLACE_ACTIONS.indexOf(a.icon || "");
1303
+ const bIndex = PREDEFINED_PLACE_ACTIONS.indexOf(b.icon || "");
1304
+ return aIndex - bIndex;
1305
+ }).map((item) => {
1306
+ item._getRealDomRef = () => this.getDomRef().querySelector(`*[data-ui5-stable=${item.stableDomRef}]`);
1307
+ // check if included for lean mode
1308
+ const show = !!item.icon || false;
1309
+ return {
1310
+ icon: item.icon,
1311
+ id: item._id,
1312
+ count: item.count || undefined,
1313
+ refItemid: item._id,
1314
+ text: item.text,
1315
+ classes: "ui5-shellbar-custom-item ui5-shellbar-button",
1316
+ show,
1317
+ press: this._handleCustomActionPress.bind(this),
1318
+ custom: true,
1319
+ title: item.title,
1320
+ stableDomRef: item.stableDomRef,
1321
+ tooltip: item.title || item.text,
1322
+ accessibilityAttributes: item.accessibilityAttributes,
1323
+ accessibleName: item.count ? `${item.title || item.text}, ${item.count}` : (item.title || item.text),
1324
+ };
1325
+ }),
1326
+ {
1327
+ icon: overflow,
1328
+ text: "Overflow",
1329
+ classes: "ui5-shellbar-hidden-button ui5-shellbar-no-overflow-button ui5-shellbar-overflow-button ui5-shellbar-button",
1330
+ id: `${this.id}-item-${5}`,
1331
+ press: this._handleOverflowPress.bind(this),
1332
+ show: true,
1333
+ tooltip: this._overflowText,
1334
+ },
1335
+ {
1336
+ text: "Person",
1337
+ classes: `${this.hasProfile ? "" : "ui5-shellbar-invisible-button"} ui5-shellbar-no-overflow-button ui5-shellbar-image-button ui5-shellbar-button`,
1338
+ profile: true,
1339
+ id: `${this._id}-item-${3}`,
1340
+ show: this.hasProfile,
1341
+ press: this._handleProfilePress.bind(this),
1342
+ tooltip: this._profileText,
1343
+ },
1344
+ {
1345
+ icon: grid,
1346
+ text: this._productsText,
1347
+ classes: `${this.showProductSwitch ? "" : "ui5-shellbar-invisible-button"} ui5-shellbar-no-overflow-button ui5-shellbar-button ui5-shellbar-image-button ui5-shellbar-button-product-switch`,
1348
+ id: `${this._id}-item-${4}`,
1349
+ show: this.showProductSwitch,
1350
+ press: this._handleProductSwitchPress.bind(this),
1351
+ tooltip: this._productsText,
1352
+ },
1353
+ ];
1354
+ return items;
1355
+ }
1356
+ _updateItemsInfo(newItemsInfo) {
1357
+ const isDifferent = JSON.stringify(this._itemsInfo) !== JSON.stringify(newItemsInfo);
1358
+ if (isDifferent) {
1359
+ this._itemsInfo = newItemsInfo;
1360
+ }
1361
+ }
1362
+ _updateContentInfo(newContentInfo) {
1363
+ const isDifferent = JSON.stringify(this._contentInfo) !== JSON.stringify(newContentInfo);
1364
+ if (isDifferent) {
1365
+ this._contentInfo = newContentInfo;
1366
+ this._fireContentItemVisibilityChangeEvent();
1367
+ }
1368
+ }
1369
+ _fireContentItemVisibilityChangeEvent() {
1370
+ const hiddenByClass = this._contentInfo
1371
+ .filter(item => item.classes.indexOf("ui5-shellbar-hidden-button") !== -1)
1372
+ .map(item => item.id);
1373
+ this.fireDecoratorEvent("content-item-visibility-change", {
1374
+ items: this.contentItems.filter(item => hiddenByClass.includes(item.slot)),
1375
+ });
1376
+ }
1377
+ _updateOverflowNotifications() {
1378
+ const notificationsArr = [];
1379
+ let overflowNotifications = null;
1380
+ this._itemsInfo.forEach(item => {
1381
+ if (item.count && this.isIconHidden(item.icon)) {
1382
+ notificationsArr.push(item.count);
1383
+ }
1384
+ });
1385
+ if (notificationsArr.length === 1) {
1386
+ overflowNotifications = notificationsArr[0];
1387
+ }
1388
+ else if (notificationsArr.length > 1) {
1389
+ overflowNotifications = " ";
1390
+ }
1391
+ this._overflowNotifications = overflowNotifications;
1392
+ }
1393
+ _observeContentItems() {
1394
+ if (this.hasMatchingContent) {
1395
+ return;
1396
+ }
1397
+ this.contentItems.forEach(item => {
1398
+ if (!this._observableContent.includes(item)) {
1399
+ this.contentItemsObserver.observe(item, {
1400
+ characterData: false,
1401
+ childList: false,
1402
+ subtree: false,
1403
+ attributes: true,
1404
+ attributeFilter: ["data-hide-order"],
1405
+ });
1406
+ }
1407
+ });
1408
+ this._observableContent = this.contentItems;
1409
+ }
1410
+ _getOverflowPopover() {
1411
+ return this.shadowRoot.querySelector(".ui5-shellbar-overflow-popover");
1412
+ }
1413
+ _getMenuPopover() {
1414
+ return this.shadowRoot.querySelector(".ui5-shellbar-menu-popover");
1415
+ }
1416
+ isIconHidden(name) {
1417
+ const itemInfo = this._itemsInfo.find(item => item.icon === name);
1418
+ if (!itemInfo) {
1419
+ return false;
1420
+ }
1421
+ return itemInfo.classes.indexOf("ui5-shellbar-hidden-button") !== -1;
1422
+ }
1423
+ get hasMatchingContent() {
1424
+ if (this._observableContent.length !== this.contentItems.length) {
1425
+ return false;
1426
+ }
1427
+ const observableContentSet = new WeakSet(this._observableContent);
1428
+ return this.contentItems.every(item => observableContentSet.has(item));
1429
+ }
1430
+ get contentItemsSorted() {
1431
+ return this.contentItems.toReversed().sort((a, b) => {
1432
+ return parseInt(a.getAttribute("data-hide-order") || "0") - parseInt(b.getAttribute("data-hide-order") || "0");
1433
+ });
1434
+ }
1435
+ get contentItemsWrappersSorted() {
1436
+ return this.contentItemsSorted.map(item => this.shadowRoot.querySelector(`#${item.slot}`)).filter(item => item !== null);
1437
+ }
1438
+ get autoSearchField() {
1439
+ const onFocus = document.activeElement === this.searchField[0];
1440
+ const isEmpty = this.searchField[0]?.value.length === 0;
1441
+ return (this.showSearchField || this._autoRestoreSearchField) && !onFocus && isEmpty;
1442
+ }
1443
+ get startContentInfoSorted() {
1444
+ return this._contentInfo
1445
+ .filter(item => this.startContent.find(contentItem => contentItem.slot === item.id))
1446
+ .sort((a, b) => a.hideOrder - b.hideOrder);
1447
+ }
1448
+ get endContentInfoSorted() {
1449
+ return this._contentInfo
1450
+ .filter(item => this.endContent.find(contentItem => contentItem.slot === item.id))
1451
+ .sort((a, b) => a.hideOrder - b.hideOrder);
1452
+ }
1453
+ get showStartSeparator() {
1454
+ return this.startContentInfoSorted.some(item => !item.classes.includes("ui5-shellbar-hidden-button"));
1455
+ }
1456
+ get showEndSeparator() {
1457
+ return this.endContentInfoSorted.some(item => !item.classes.includes("ui5-shellbar-hidden-button"));
1458
+ }
1459
+ shouldIncludeSeparator(itemInfo, contentInfo) {
1460
+ // once the last item from the start/end content was hidden, the
1461
+ // separator is "packed" with it in order to account for any next measurements
1462
+ if (!itemInfo) {
1463
+ return false;
1464
+ }
1465
+ const lastVisibleItem = contentInfo.at(-1);
1466
+ return lastVisibleItem?.id === itemInfo.id && itemInfo.classes.indexOf("ui5-shellbar-hidden-button") > -1;
1467
+ }
1468
+ get classes() {
1469
+ return {
1470
+ wrapper: {
1471
+ "ui5-shellbar-root": true,
1472
+ "ui5-shellbar-with-searchfield": this.hasSearchField,
1473
+ },
1474
+ button: {
1475
+ "ui5-shellbar-menu-button--interactive": this.hasMenuItems,
1476
+ },
1477
+ notification: {
1478
+ "ui5-shellbar-hidden-button": this.isIconHidden("bell"),
1479
+ },
1480
+ search: {
1481
+ "ui5-shellbar-hidden-button": this.isIconHidden("search"),
1482
+ },
1483
+ overflow: {
1484
+ "ui5-shellbar-hidden-button": this._hiddenIcons.length === 0,
1485
+ },
1486
+ assistant: {
1487
+ "ui5-shellbar-hidden-button": this.isIconHidden("assistant"),
1488
+ "ui5-shellbar-assistant-button": true,
1489
+ },
1490
+ };
1491
+ }
1492
+ get styles() {
1493
+ return {
1494
+ searchField: {
1495
+ "display": this.showSearchField ? "flex" : "none",
1496
+ },
1497
+ };
1498
+ }
1499
+ get customItemsInfo() {
1500
+ return this._itemsInfo.filter(itemInfo => !!itemInfo.custom);
1501
+ }
1502
+ get hasLogo() {
1503
+ return !!this.logo.length;
1504
+ }
1505
+ get showLogoInMenuButton() {
1506
+ return this.hasLogo && (this.breakpointSize === "S");
1507
+ }
1508
+ get showTitleInMenuButton() {
1509
+ return this.primaryTitle && !(this.showLogoInMenuButton);
1510
+ }
1511
+ get showMenuButton() {
1512
+ return this.primaryTitle || this.showLogoInMenuButton;
1513
+ }
1514
+ get popoverHorizontalAlign() {
1515
+ return this.effectiveDir === "rtl" ? "Start" : "End";
1516
+ }
1517
+ get hasAssistant() {
1518
+ return !!this.assistant.length;
1519
+ }
1520
+ get hasSearchField() {
1521
+ return !!this.searchField.length;
1522
+ }
1523
+ get hasMidContent() {
1524
+ return !!this.midContent.length;
1525
+ }
1526
+ get hasProfile() {
1527
+ return !!this.profile.length;
1528
+ }
1529
+ get hasMenuItems() {
1530
+ return this.menuItems.length > 0;
1531
+ }
1532
+ get imageBtnText() {
1533
+ return parametersBundle_css.A(this);
1534
+ }
1535
+ get _shellbarText() {
1536
+ return ShellBar_1.i18nBundle.getText(i18nDefaults.SHELLBAR_LABEL);
1537
+ }
1538
+ get _logoText() {
1539
+ return this.accessibilityAttributes.logo?.name || ShellBar_1.i18nBundle.getText(i18nDefaults.SHELLBAR_LOGO);
1540
+ }
1541
+ get _notificationsText() {
1542
+ return ShellBar_1.i18nBundle.getText(i18nDefaults.SHELLBAR_NOTIFICATIONS, this.notificationsCount || 0);
1543
+ }
1544
+ get _cancelBtnText() {
1545
+ return ShellBar_1.i18nBundle.getText(i18nDefaults.SHELLBAR_CANCEL);
1546
+ }
1547
+ get _logoAreaText() {
1548
+ const primaryTitle = this.primaryTitle ?? "";
1549
+ const secondaryTitle = this.secondaryTitle ?? "";
1550
+ return ShellBar_1.i18nBundle.getText(i18nDefaults.SHELLBAR_LOGO_AREA, primaryTitle, secondaryTitle);
1551
+ }
1552
+ get _contentItemsText() {
1553
+ return ShellBar_1.i18nBundle.getText(i18nDefaults.SHELLBAR_ADDITIONAL_CONTEXT);
1554
+ }
1555
+ get _searchFieldDescription() {
1556
+ return ShellBar_1.i18nBundle.getText(i18nDefaults.SHELLBAR_SEARCHFIELD_DESCRIPTION);
1557
+ }
1558
+ get _contentItemsRole() {
1559
+ if (this.contentItems.length === 1) {
1560
+ return;
1561
+ }
1562
+ return "group";
1563
+ }
1564
+ get contentItems() {
1565
+ return [...this.startContent, ...this.endContent];
1566
+ }
1567
+ get startContent() {
1568
+ // all items before the first spacer
1569
+ const spacerIndex = this.content.findIndex(child => child.hasAttribute("ui5-shellbar-spacer"));
1570
+ if (spacerIndex === -1) {
1571
+ return this.content;
1572
+ }
1573
+ return this.content.slice(0, spacerIndex);
1574
+ }
1575
+ get endContent() {
1576
+ // all items after the first spacer
1577
+ const spacerIndex = this.content.findIndex(child => child.hasAttribute("ui5-shellbar-spacer"));
1578
+ if (spacerIndex === -1) {
1579
+ return [];
1580
+ }
1581
+ return this.content.slice(spacerIndex + 1);
1582
+ }
1583
+ get _rightChildRole() {
1584
+ const items = this._getRightChildItems();
1585
+ const visibleItems = items.filter(item => {
1586
+ return this._isVisible(item);
1587
+ });
1588
+ if (visibleItems.length === 1) {
1589
+ return;
1590
+ }
1591
+ return "toolbar";
1592
+ }
1593
+ get _searchFieldText() {
1594
+ return ShellBar_1.i18nBundle.getText(i18nDefaults.SHELLBAR_SEARCH_FIELD);
1595
+ }
1596
+ get _searchBtnOpen() {
1597
+ return ShellBar_1.i18nBundle.getText(i18nDefaults.SHELLBAR_SEARCH_BTN_OPEN);
1598
+ }
1599
+ get _productSwitchBtnText() {
1600
+ return ShellBar_1.i18nBundle.getText(i18nDefaults.SHELLBAR_PRODUCT_SWITCH_BTN);
1601
+ }
1602
+ get isSearchFieldVisible() {
1603
+ return this.searchField[0]?.offsetWidth || 0;
1604
+ }
1605
+ get _profileText() {
1606
+ return this.accessibilityAttributes.profile?.name || ShellBar_1.i18nBundle.getText(i18nDefaults.SHELLBAR_PROFILE);
1607
+ }
1608
+ get _productsText() {
1609
+ return ShellBar_1.i18nBundle.getText(i18nDefaults.SHELLBAR_PRODUCTS);
1610
+ }
1611
+ get _searchText() {
1612
+ return ShellBar_1.i18nBundle.getText(i18nDefaults.SHELLBAR_SEARCH);
1613
+ }
1614
+ get _overflowText() {
1615
+ return ShellBar_1.i18nBundle.getText(i18nDefaults.SHELLBAR_OVERFLOW);
1616
+ }
1617
+ get hasContentItems() {
1618
+ return this.contentItems.length > 0;
1619
+ }
1620
+ get hidableDomElements() {
1621
+ const items = Array.from(this.shadowRoot.querySelectorAll(".ui5-shellbar-button:not(.ui5-shellbar-search-button):not(.ui5-shellbar-overflow-button):not(.ui5-shellbar-cancel-button):not(.ui5-shellbar-no-overflow-button)"));
1622
+ const assistant = this.shadowRoot.querySelector(".ui5-shellbar-assistant-button");
1623
+ const searchButton = this.shadowRoot.querySelector(".ui5-shellbar-search-button");
1624
+ const contentItems = this.contentItemsWrappersSorted;
1625
+ const firstContentItem = contentItems.pop();
1626
+ const prioritizeContent = this.showSearchField && this.hasSearchField;
1627
+ // order here is important for the responsive behavior, the items will be
1628
+ // measured and hidden in the order they are returned until no overlap is detected
1629
+ let itemsToHide = [];
1630
+ if (prioritizeContent) {
1631
+ // search field was toggled, the content items should make space for it
1632
+ const overflowItems = [...items, assistant];
1633
+ const visibleItems = overflowItems.filter(item => item && !item.classList.contains("ui5-shellbar-hidden-button"));
1634
+ const hiddenItems = overflowItems.filter(item => item && item.classList.contains("ui5-shellbar-hidden-button"));
1635
+ itemsToHide = [
1636
+ ...hiddenItems,
1637
+ ...contentItems,
1638
+ firstContentItem,
1639
+ ...visibleItems,
1640
+ ];
1641
+ }
1642
+ else {
1643
+ // search field is close, actions should go to the overflow first
1644
+ itemsToHide = [
1645
+ ...items.toReversed(),
1646
+ assistant,
1647
+ ...contentItems,
1648
+ searchButton,
1649
+ firstContentItem,
1650
+ ];
1651
+ }
1652
+ return itemsToHide.filter(Boolean);
1653
+ }
1654
+ get contentItemsHidden() {
1655
+ return this.contentItemsWrappersSorted.filter(item => item.classList.contains("ui5-shellbar-hidden-button"));
1656
+ }
1657
+ get overflowWrapper() {
1658
+ return this.shadowRoot.querySelector(".ui5-shellbar-overflow-container-right");
1659
+ }
1660
+ get overflowInner() {
1661
+ return this.shadowRoot.querySelector(".ui5-shellbar-overflow-container-right-inner");
1662
+ }
1663
+ get overflowed() {
1664
+ const wrapper = this.overflowWrapper;
1665
+ const inner = this.overflowInner;
1666
+ if (!wrapper || !inner) {
1667
+ return false;
1668
+ }
1669
+ return inner.offsetWidth > wrapper.offsetWidth;
1670
+ }
1671
+ get accInfo() {
1672
+ const overflowExpanded = this.accessibilityAttributes.overflow?.expanded;
1673
+ return {
1674
+ notifications: {
1675
+ "title": this._notificationsText,
1676
+ "accessibilityAttributes": {
1677
+ expanded: this.accessibilityAttributes.notifications?.expanded,
1678
+ hasPopup: this.accessibilityAttributes.notifications?.hasPopup,
1679
+ },
1680
+ },
1681
+ profile: {
1682
+ "title": this._profileText,
1683
+ "accessibilityAttributes": {
1684
+ hasPopup: this.accessibilityAttributes.profile?.hasPopup,
1685
+ expanded: this.accessibilityAttributes.profile?.expanded,
1686
+ },
1687
+ },
1688
+ products: {
1689
+ "title": this._productsText,
1690
+ "accessibilityAttributes": {
1691
+ hasPopup: this.accessibilityAttributes.product?.hasPopup,
1692
+ expanded: this.accessibilityAttributes.product?.expanded,
1693
+ },
1694
+ },
1695
+ search: {
1696
+ "title": this._searchText,
1697
+ "accessibilityAttributes": {
1698
+ hasPopup: this.accessibilityAttributes.search?.hasPopup,
1699
+ },
1700
+ },
1701
+ overflow: {
1702
+ "title": this._overflowText,
1703
+ "accessibilityAttributes": {
1704
+ hasPopup: this.accessibilityAttributes.overflow?.hasPopup || "menu",
1705
+ expanded: overflowExpanded === undefined ? this._overflowPopoverExpanded : overflowExpanded,
1706
+ },
1707
+ },
1708
+ };
1709
+ }
1710
+ get accLogoRole() {
1711
+ return this.accessibilityAttributes.logo?.role || "link";
1712
+ }
1713
+ get isSBreakPoint() {
1714
+ return this.breakpointSize === "S";
1715
+ }
1716
+ };
1717
+ __decorate([
1718
+ webcomponentsBase.s()
1719
+ ], ShellBar.prototype, "primaryTitle", void 0);
1720
+ __decorate([
1721
+ webcomponentsBase.s()
1722
+ ], ShellBar.prototype, "secondaryTitle", void 0);
1723
+ __decorate([
1724
+ webcomponentsBase.s()
1725
+ ], ShellBar.prototype, "notificationsCount", void 0);
1726
+ __decorate([
1727
+ webcomponentsBase.s({ type: Boolean })
1728
+ ], ShellBar.prototype, "showNotifications", void 0);
1729
+ __decorate([
1730
+ webcomponentsBase.s({ type: Boolean })
1731
+ ], ShellBar.prototype, "showProductSwitch", void 0);
1732
+ __decorate([
1733
+ webcomponentsBase.s({ type: Boolean })
1734
+ ], ShellBar.prototype, "showSearchField", void 0);
1735
+ __decorate([
1736
+ webcomponentsBase.s({ type: Object })
1737
+ ], ShellBar.prototype, "accessibilityAttributes", void 0);
1738
+ __decorate([
1739
+ webcomponentsBase.s()
1740
+ ], ShellBar.prototype, "breakpointSize", void 0);
1741
+ __decorate([
1742
+ webcomponentsBase.s({ type: Boolean })
1743
+ ], ShellBar.prototype, "withLogo", void 0);
1744
+ __decorate([
1745
+ webcomponentsBase.s({ type: Object })
1746
+ ], ShellBar.prototype, "_itemsInfo", void 0);
1747
+ __decorate([
1748
+ webcomponentsBase.s({ type: Object })
1749
+ ], ShellBar.prototype, "_contentInfo", void 0);
1750
+ __decorate([
1751
+ webcomponentsBase.s({ type: Boolean, noAttribute: true })
1752
+ ], ShellBar.prototype, "_menuPopoverExpanded", void 0);
1753
+ __decorate([
1754
+ webcomponentsBase.s({ type: Boolean, noAttribute: true })
1755
+ ], ShellBar.prototype, "_overflowPopoverExpanded", void 0);
1756
+ __decorate([
1757
+ webcomponentsBase.s({ type: Boolean, noAttribute: true })
1758
+ ], ShellBar.prototype, "showFullWidthSearch", void 0);
1759
+ __decorate([
1760
+ webcomponentsBase.d()
1761
+ ], ShellBar.prototype, "assistant", void 0);
1762
+ __decorate([
1763
+ webcomponentsBase.d({ type: HTMLElement, "default": true, invalidateOnChildChange: true })
1764
+ ], ShellBar.prototype, "items", void 0);
1765
+ __decorate([
1766
+ webcomponentsBase.d()
1767
+ ], ShellBar.prototype, "profile", void 0);
1768
+ __decorate([
1769
+ webcomponentsBase.d()
1770
+ ], ShellBar.prototype, "logo", void 0);
1771
+ __decorate([
1772
+ webcomponentsBase.d()
1773
+ ], ShellBar.prototype, "menuItems", void 0);
1774
+ __decorate([
1775
+ webcomponentsBase.d()
1776
+ ], ShellBar.prototype, "searchField", void 0);
1777
+ __decorate([
1778
+ webcomponentsBase.d()
1779
+ ], ShellBar.prototype, "startButton", void 0);
1780
+ __decorate([
1781
+ webcomponentsBase.d()
1782
+ ], ShellBar.prototype, "midContent", void 0);
1783
+ __decorate([
1784
+ webcomponentsBase.d({ type: HTMLElement, individualSlots: true })
1785
+ ], ShellBar.prototype, "content", void 0);
1786
+ __decorate([
1787
+ parametersBundle_css.i("@ui5/webcomponents-fiori")
1788
+ ], ShellBar, "i18nBundle", void 0);
1789
+ ShellBar = ShellBar_1 = __decorate([
1790
+ webcomponentsBase.m({
1791
+ tag: "ui5-shellbar",
1792
+ fastNavigation: true,
1793
+ languageAware: true,
1794
+ renderer: parametersBundle_css.d,
1795
+ template: ShellBarTemplate,
1796
+ styles: [shellBarStyles, ShellBarPopoverCss],
1797
+ dependencies: [
1798
+ parametersBundle_css.Button,
1799
+ parametersBundle_css.Icon,
1800
+ parametersBundle_css.List,
1801
+ parametersBundle_css.Popover,
1802
+ ListItemStandard$1,
1803
+ Menu$1,
1804
+ ],
1805
+ })
1806
+ /**
1807
+ *
1808
+ * Fired, when the notification icon is activated.
1809
+ * @param {HTMLElement} targetRef dom ref of the activated element
1810
+ * @public
1811
+ */
1812
+ ,
1813
+ eventStrict.l("notifications-click", {
1814
+ cancelable: true,
1815
+ bubbles: true,
1816
+ })
1817
+ /**
1818
+ * Fired, when the profile slot is present.
1819
+ * @param {HTMLElement} targetRef dom ref of the activated element
1820
+ * @public
1821
+ */
1822
+ ,
1823
+ eventStrict.l("profile-click", {
1824
+ bubbles: true,
1825
+ })
1826
+ /**
1827
+ * Fired, when the product switch icon is activated.
1828
+ *
1829
+ * **Note:** You can prevent closing of overflow popover by calling `event.preventDefault()`.
1830
+ * @param {HTMLElement} targetRef dom ref of the activated element
1831
+ * @public
1832
+ */
1833
+ ,
1834
+ eventStrict.l("product-switch-click", {
1835
+ cancelable: true,
1836
+ bubbles: true,
1837
+ })
1838
+ /**
1839
+ * Fired, when the logo is activated.
1840
+ * @param {HTMLElement} targetRef dom ref of the activated element
1841
+ * @since 0.10
1842
+ * @public
1843
+ */
1844
+ ,
1845
+ eventStrict.l("logo-click", {
1846
+ bubbles: true,
1847
+ })
1848
+ /**
1849
+ * Fired, when a menu item is activated
1850
+ *
1851
+ * **Note:** You can prevent closing of overflow popover by calling `event.preventDefault()`.
1852
+ * @param {HTMLElement} item DOM ref of the activated list item
1853
+ * @since 0.10
1854
+ * @public
1855
+ */
1856
+ ,
1857
+ eventStrict.l("menu-item-click", {
1858
+ bubbles: true,
1859
+ cancelable: true,
1860
+ })
1861
+ /**
1862
+ * Fired, when the search button is activated.
1863
+ *
1864
+ * **Note:** You can prevent expanding/collapsing of the search field by calling `event.preventDefault()`.
1865
+ * @param {HTMLElement} targetRef dom ref of the activated element
1866
+ * @param {Boolean} searchFieldVisible whether the search field is visible
1867
+ * @public
1868
+ */
1869
+ ,
1870
+ eventStrict.l("search-button-click", {
1871
+ cancelable: true,
1872
+ bubbles: true,
1873
+ })
1874
+ /**
1875
+ * Fired, when an item from the content slot is hidden or shown.
1876
+ * **Note:** The `content-item-visibility-change` event is in an experimental state and is a subject to change.
1877
+ *
1878
+ * @param {Array<HTMLElement>} array of all the items that are hidden
1879
+ * @public
1880
+ * @since 2.7.0
1881
+ */
1882
+ ,
1883
+ eventStrict.l("content-item-visibility-change", {
1884
+ bubbles: true,
1885
+ })
1886
+ ], ShellBar);
1887
+ ShellBar.define();
1888
+ var ShellBar$1 = ShellBar;
1889
+
1890
+ return ShellBar$1;
1891
+
1892
+ }));