@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.
- package/package.json +1 -1
- package/src/main/js/sap/ushell/.library +2 -1
- package/src/main/js/sap/ushell/AppInfoParameters.js +29 -6
- package/src/main/js/sap/ushell/ApplicationType/UrlPostProcessing.js +3 -3
- package/src/main/js/sap/ushell/ApplicationType/guiResolution.js +185 -174
- package/src/main/js/sap/ushell/ApplicationType/urlTemplateResolution.js +1 -1
- package/src/main/js/sap/ushell/ApplicationType/wdaResolution.js +69 -61
- package/src/main/js/sap/ushell/EventHub.js +1 -3
- package/src/main/js/sap/ushell/Fiori20Adapter.js +1 -1
- package/src/main/js/sap/ushell/Fiori20AdapterTest.js +1 -1
- package/src/main/js/sap/ushell/NWBCInterface.js +2 -2
- package/src/main/js/sap/ushell/SessionHandler.js +3 -3
- package/src/main/js/sap/ushell/TechnicalParameters.js +1 -1
- package/src/main/js/sap/ushell/URLTemplateProcessor/DefinitionParameterSetBuilder.js +1 -1
- package/src/main/js/sap/ushell/URLTemplateProcessor/DependencyGraph.js +1 -1
- package/src/main/js/sap/ushell/URLTemplateProcessor/Functions.js +1 -1
- package/src/main/js/sap/ushell/URLTemplateProcessor/Resolvers.js +1 -1
- package/src/main/js/sap/ushell/URLTemplateProcessor/TemplateParameterParser.js +1 -1
- package/src/main/js/sap/ushell/URLTemplateProcessor/utils.js +1 -1
- package/src/main/js/sap/ushell/URLTemplateProcessor.js +1 -1
- package/src/main/js/sap/ushell/Ui5NativeServiceFactory.js +1 -1
- package/src/main/js/sap/ushell/Ui5ServiceFactory.js +1 -1
- package/src/main/js/sap/ushell/User.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/ClientSideTargetResolutionAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/ConfigurationDefaultsAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/ContainerAdapter.js +3 -11
- package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +13 -4
- package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/PersonalizationAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/PersonalizationV2Adapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/Settings/UserLanguageAndRegion/UserLanguageAndRegion.view.xml +4 -2
- package/src/main/js/sap/ushell/adapters/cdm/Ui5ComponentLoaderAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/modifyHome.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readCatalogs.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readHome.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/uri.transform.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/util/AppForInbound.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/util/cdmSiteUtils.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/AdapterBase.js +12 -3
- package/src/main/js/sap/ushell/adapters/cdm/v3/FlpLaunchPageAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/LaunchPageAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readApplications.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readCatalogs.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readHome.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readPages.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations.js +1 -1
- package/src/main/js/sap/ushell/adapters/cep/MenuAdapter.js +11 -5
- package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionInternalAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cep/SearchCEPAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cflp/UserDefaultParameterPersistenceAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/AdapterContainer.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/AppStateAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/ClientSideTargetResolutionAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/ContainerAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/FlpLaunchPageAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/LaunchPageAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionInternalAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/PageBuildingAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/PagePersistenceAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/PersonalizationAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/PersonalizationV2Adapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/SearchAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/SearchCEPAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/SupportTicketAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/Ui5ComponentLoaderAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/UserInfoAdapter.js +1 -1
- package/src/main/js/sap/ushell/api/DWS.js +87 -0
- package/src/main/js/sap/ushell/api/Inbox.js +20 -4
- package/src/main/js/sap/ushell/api/common/ComponentInstantiation.js +36 -36
- package/src/main/js/sap/ushell/appIntegration/AppLifeCycle/KeepAliveMode.js +43 -0
- package/src/main/js/sap/ushell/appIntegration/AppLifeCycle.js +1667 -0
- package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/ApplicationContainer.js +136 -11
- package/src/main/js/sap/ushell/appIntegration/ApplicationContainerRenderer.js +54 -0
- package/src/main/js/sap/ushell/appIntegration/ApplicationHandle.js +57 -0
- package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/IframeApplicationContainer.js +102 -15
- package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/IframeApplicationContainerRenderer.js +26 -20
- package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/KeepAliveApps.js +1 -1
- package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/PostMessageManager/AppruntimeHandler.js +7 -5
- package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/PostMessageManager/LifecycleHandler.js +25 -25
- package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/PostMessageManager/MessageBrokerHandler.js +1 -1
- package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/PostMessageManager/NWBCHandler.js +4 -4
- package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/PostMessageManager/ServiceHandler.js +4 -3
- package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/PostMessageManager.js +38 -21
- package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/PostMessagePluginInterface.js +1 -1
- package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/UI5ApplicationContainer.js +31 -8
- package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/UI5ApplicationContainerRenderer.js +14 -1
- package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/contracts/EmbeddedUI5Handler.js +10 -9
- package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/contracts/StatefulContainerV1Handler.js +6 -19
- package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/contracts/StatefulContainerV2Handler.js +20 -55
- package/src/main/js/sap/ushell/appRuntime/ui5/AppCommunicationMgr.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntime.js +15 -0
- package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/RendererExtensions.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/AppConfiguration.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/AppLifeCycle.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/AppState.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/Bookmark.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/BookmarkV2.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/CommonDataModel.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/Container.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/CrossApplicationNavigation.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension/Item.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/FlpLaunchPage.js +30 -0
- package/src/main/js/sap/ushell/appRuntime/ui5/services/FrameBoundExtension.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/LaunchPage.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/MessageBroker.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolution.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolutionInternal.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/Navigation.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/ReferenceResolver.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigation.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigationInternal.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellUIService.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/UserInfo.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +1 -1
- package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/logger.js +1 -1
- package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/state.js +1 -1
- package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5datetimeformat.js +1 -1
- package/src/main/js/sap/ushell/bootstrap/common/common.create.configcontract.core.js +62 -35
- package/src/main/js/sap/ushell/bootstrap/sandbox2.js +1 -1
- package/src/main/js/sap/ushell/components/HomepageManager.js +1 -0
- package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/AppLifeCycle.js +6 -1684
- package/src/main/js/sap/ushell/components/applicationIntegration/Storage.js +1 -7
- package/src/main/js/sap/ushell/components/applicationIntegration/application/Application.js +2 -35
- package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxHandler.js +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageAPI.js +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/configuration/AppMeta.js +2 -176
- package/src/main/js/sap/ushell/components/applicationIntegration/relatedServices/RelatedServices.js +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegrationOld/AppLifeCycle.js +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegrationOld/application/Application.js +3 -3
- package/src/main/js/sap/ushell/components/applicationIntegrationOld/application/BlueBoxHandler.js +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegrationOld/application/PostMessageAPI.js +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegrationOld/configuration/AppMeta.js +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegrationOld/relatedServices/RelatedServices.js +1 -1
- package/src/main/js/sap/ushell/components/container/ApplicationContainer.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/CatalogService.js +12 -6
- package/src/main/js/sap/ushell/components/contentFinder/Component.js +41 -3
- package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +103 -38
- package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/dialog/Component.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/dialog/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources.properties +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ar.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_bg.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ca.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_cnr.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_cs.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_cy.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_da.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_de.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_el.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_en.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_en_GB.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_en_US_saprigi.properties +4 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_es.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_es_MX.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_et.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_fi.properties +4 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_fr.properties +4 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_fr_CA.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_hi.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_hr.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_hu.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_id.properties +4 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_it.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_iw.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ja.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_kk.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ko.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_lt.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_lv.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_mk.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ms.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_nl.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_no.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_pl.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_pt.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_pt_PT.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ro.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ru.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sh.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sk.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sl.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sr.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sv.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_th.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_tr.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_uk.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_vi.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_zh_CN.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_zh_TW.properties +3 -1
- package/src/main/js/sap/ushell/components/contentFinder/view/AppSearch.view.xml +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/view/AppSearchCategoryTree.fragment.xml +2 -2
- package/src/main/js/sap/ushell/components/contentFinder/view/AppSearchCategoryTreeTable.fragment.xml +70 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/Component.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinderStandalone/controller/ContentFinderStandalone.controller.js +8 -3
- package/src/main/js/sap/ushell/components/contentFinderStandalone/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_ar.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_bg.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_ca.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_cnr.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_cs.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_cy.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_da.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_de.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_el.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_en.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_en_GB.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_en_US_saprigi.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_es.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_es_MX.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_et.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_fi.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_fr.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_fr_CA.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_hi.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_hr.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_hu.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_id.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_it.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_iw.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_ja.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_kk.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_ko.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_lt.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_lv.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_mk.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_ms.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_nl.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_no.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_pl.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_pt.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_pt_PT.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_ro.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_ru.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_sh.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_sk.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_sl.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_sr.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_sv.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_th.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_tr.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_uk.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_vi.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_zh_CN.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_zh_TW.properties +3 -0
- package/src/main/js/sap/ushell/components/factsheet/Component.js +1 -1
- package/src/main/js/sap/ushell/components/homepage/ActionMode.js +1 -1
- package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +1 -1
- package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +4 -4
- package/src/main/js/sap/ushell/components/homepage/DashboardUIActions.js +1 -1
- package/src/main/js/sap/ushell/components/homepage/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/pages/ActionMode.js +1 -1
- package/src/main/js/sap/ushell/components/pages/Component.js +1 -1
- package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +1 -1
- package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +3 -3
- package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +1 -1
- package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/FloatingContainer/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/MenuBar/Component.js +9 -8
- package/src/main/js/sap/ushell/components/shell/MenuBar/controller/MenuBar.controller.js +0 -1
- package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/MenuBar/view/MenuBarPersonalized.view.xml +25 -0
- package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/Component.js +10 -21
- package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenu.controller.js +12 -5
- package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenuButton.controller.js +1 -1
- package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/manifest.json +1 -7
- package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/view/ContextMenu.fragment.xml +6 -4
- package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/view/NavigationBarMenu.fragment.xml +76 -0
- package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/view/NavigationBarMenu.view.xml +6 -65
- package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/view/NavigationBarMenuButton.view.xml +2 -2
- package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/view/NavigationBarMenuPopover.fragment.xml +6 -65
- package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/Search/ESearch.js +15 -2
- package/src/main/js/sap/ushell/components/shell/Search/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/FrequentActivityProvider.js +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/RecentSearchProvider.js +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider.js +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchServiceProvider.js +1 -1
- package/src/main/js/sap/ushell/components/shell/Settings/Component.js +23 -11
- package/src/main/js/sap/ushell/components/shell/Settings/userLanguageRegion/LanguageRegionSelector.controller.js +1 -1
- package/src/main/js/sap/ushell/components/shell/ShellBar/Component.js +114 -0
- package/src/main/js/sap/ushell/components/shell/ShellBar/controller/ShellBar.controller.js +248 -0
- package/src/main/js/sap/ushell/components/shell/ShellBar/manifest.json +48 -0
- package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources.properties +11 -0
- package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_en_US_saprigi.properties +5 -0
- package/src/main/js/sap/ushell/components/shell/ShellBar/view/ShellBar.view.xml +48 -0
- package/src/main/js/sap/ushell/components/shell/SideNavigation/Component.js +74 -51
- package/src/main/js/sap/ushell/components/shell/SideNavigation/controller/SideNavigation.controller.js +27 -30
- package/src/main/js/sap/ushell/components/shell/SideNavigation/fragment/AllSpaces.fragment.xml +21 -0
- package/src/main/js/sap/ushell/components/shell/SideNavigation/fragment/Popover.fragment.xml +6 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/manifest.json +5 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/AllSpaces.js +56 -5
- package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/Favorites.js +24 -9
- package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/GenericNavigationListProvider.js +46 -67
- package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/MyHome.js +22 -4
- package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/NavigationHelper.js +3 -2
- package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/Spaces.js +187 -160
- package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/SpacesNavigationListProvider.js +27 -11
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_ar.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_bg.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_ca.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_cnr.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_cs.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_cy.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_da.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_de.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_el.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_en.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_en_GB.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_en_US_saprigi.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_es.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_es_MX.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_et.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_fi.properties +4 -2
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_fr.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_fr_CA.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_hi.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_hr.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_hu.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_id.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_it.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_iw.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_ja.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_kk.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_ko.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_lt.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_lv.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_mk.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_ms.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_nl.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_no.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_pl.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_pt.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_pt_PT.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_ro.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_ru.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_sh.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_sk.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_sl.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_sr.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_sv.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_th.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_tr.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_uk.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_vi.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_zh_CN.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_zh_TW.properties +3 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/view/Main.view.xml +21 -6
- package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +1 -1
- package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.accessibility.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.controller.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPage.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageButton.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageCell.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumn.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnResizer.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRow.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_fr.properties +1 -1
- package/src/main/js/sap/ushell/components/workPageRuntime/Component.js +1 -1
- package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +1 -1
- package/src/main/js/sap/ushell/components/workPageRuntime/manifest.json +1 -1
- package/src/main/js/sap/ushell/designtime/ApplicationContainer.designtime.js +1 -1
- package/src/main/js/sap/ushell/library.js +30 -10
- package/src/main/js/sap/ushell/navigationMode.js +1 -1
- package/src/main/js/sap/ushell/performance/ShellAnalytics.js +1 -1
- package/src/main/js/sap/ushell/performance/StatisticalRecord.js +1 -1
- package/src/main/js/sap/ushell/plugins/appwarmup/Component.js +1 -1
- package/src/main/js/sap/ushell/renderer/NavContainer.js +266 -0
- package/src/main/js/sap/ushell/renderer/NavContainerRenderer.js +42 -0
- package/src/main/js/sap/ushell/renderer/Renderer.js +129 -112
- package/src/main/js/sap/ushell/renderer/RendererRootView.fragment.xml +2 -2
- package/src/main/js/sap/ushell/renderer/RendererRootViewFallback.fragment.xml +8 -0
- package/src/main/js/sap/ushell/renderer/Shell.controller.js +119 -60
- package/src/main/js/sap/ushell/renderer/Shell.view.js +78 -26
- package/src/main/js/sap/ushell/renderer/resources/resources.properties +3 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_ar.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_bg.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_ca.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_cnr.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_cs.properties +10 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_cy.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_da.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_de.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_el.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_en.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_en_GB.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_en_US_saprigi.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_es.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_es_MX.properties +10 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_et.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_fi.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_fr.properties +11 -2
- package/src/main/js/sap/ushell/renderer/resources/resources_fr_CA.properties +14 -5
- package/src/main/js/sap/ushell/renderer/resources/resources_hi.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_hr.properties +42 -33
- package/src/main/js/sap/ushell/renderer/resources/resources_hu.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_id.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_it.properties +12 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_iw.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_ja.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_kk.properties +11 -2
- package/src/main/js/sap/ushell/renderer/resources/resources_ko.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_lt.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_lv.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_mk.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_ms.properties +11 -2
- package/src/main/js/sap/ushell/renderer/resources/resources_nl.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_no.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_pl.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_pt.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_pt_PT.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_ro.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_ru.properties +11 -2
- package/src/main/js/sap/ushell/renderer/resources/resources_sh.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_sk.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_sl.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_sr.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_sv.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_th.properties +11 -2
- package/src/main/js/sap/ushell/renderer/resources/resources_tr.properties +11 -2
- package/src/main/js/sap/ushell/renderer/resources/resources_uk.properties +11 -2
- package/src/main/js/sap/ushell/renderer/resources/resources_vi.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_zh_CN.properties +9 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_zh_TW.properties +9 -0
- package/src/main/js/sap/ushell/renderer/search/searchComponent/manifest.json +1 -1
- package/src/main/js/sap/ushell/renderers/fiori2/Shell.view.js +18 -2
- package/src/main/js/sap/ushell/services/AppConfiguration.js +4 -4
- package/src/main/js/sap/ushell/services/AppLifeCycle.js +374 -377
- package/src/main/js/sap/ushell/services/AppState.js +1 -1
- package/src/main/js/sap/ushell/services/Bookmark.js +2 -2
- package/src/main/js/sap/ushell/services/BookmarkV2.js +2 -2
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/Formatter.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/InboundIndex.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/InboundProvider.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/PrelaunchOperations.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/Search.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/StagedLogger.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/SystemContext.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/Utils.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/VirtualInbounds.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/XAppStateProcessing.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +298 -198
- package/src/main/js/sap/ushell/services/CommonDataModel/SiteConverter.js +1 -1
- package/src/main/js/sap/ushell/services/CommonDataModel/vizTypeDefaults/VizTypeDefaults.js +1 -1
- package/src/main/js/sap/ushell/services/CommonDataModel.js +1 -1
- package/src/main/js/sap/ushell/services/Configuration.js +1 -1
- package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +1 -1
- package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +1 -1
- package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +2 -2
- package/src/main/js/sap/ushell/services/DarkModeSupport.js +1 -1
- package/src/main/js/sap/ushell/services/Extension/Item.js +1 -1
- package/src/main/js/sap/ushell/services/Extension.js +1 -1
- package/src/main/js/sap/ushell/services/FlpLaunchPage.js +2 -1
- package/src/main/js/sap/ushell/services/FrameBoundExtension/FloatingContainer.js +1 -1
- package/src/main/js/sap/ushell/services/FrameBoundExtension/Footer.js +1 -1
- package/src/main/js/sap/ushell/services/FrameBoundExtension/Item.js +1 -1
- package/src/main/js/sap/ushell/services/FrameBoundExtension/SidePane.js +1 -1
- package/src/main/js/sap/ushell/services/FrameBoundExtension/ToolArea.js +1 -1
- package/src/main/js/sap/ushell/services/FrameBoundExtension/UserSettingsEntry.js +1 -1
- package/src/main/js/sap/ushell/services/FrameBoundExtension.js +1 -1
- package/src/main/js/sap/ushell/services/LaunchPage.js +98 -7
- package/src/main/js/sap/ushell/services/Menu.js +1 -1
- package/src/main/js/sap/ushell/services/Message.js +1 -1
- package/src/main/js/sap/ushell/services/MessageBroker/MessageBrokerEngine.js +5 -5
- package/src/main/js/sap/ushell/services/MessageBroker.js +1 -1
- package/src/main/js/sap/ushell/services/MessageInternal.js +1 -1
- package/src/main/js/sap/ushell/services/Navigation/compatibility.js +2 -2
- package/src/main/js/sap/ushell/services/Navigation/utils.js +1 -1
- package/src/main/js/sap/ushell/services/Navigation.js +3 -3
- package/src/main/js/sap/ushell/services/NavigationDataProvider.js +12 -11
- package/src/main/js/sap/ushell/services/PageBuilding.js +1 -1
- package/src/main/js/sap/ushell/services/PagePersistence.js +1 -1
- package/src/main/js/sap/ushell/services/PageReferencing.js +1 -1
- package/src/main/js/sap/ushell/services/Pages.js +1 -1
- package/src/main/js/sap/ushell/services/Personalization.js +1 -1
- package/src/main/js/sap/ushell/services/PersonalizationV2.js +1 -1
- package/src/main/js/sap/ushell/services/PluginManager/Extensions.js +1 -1
- package/src/main/js/sap/ushell/services/PluginManager/HeaderExtensions.js +1 -1
- package/src/main/js/sap/ushell/services/PluginManager/MenuExtensions.js +1 -1
- package/src/main/js/sap/ushell/services/PluginManager/SimpleExpression.js +1 -1
- package/src/main/js/sap/ushell/services/PluginManager.js +81 -63
- package/src/main/js/sap/ushell/services/ReferenceResolver.js +1 -1
- package/src/main/js/sap/ushell/services/Search.js +1 -1
- package/src/main/js/sap/ushell/services/SearchCEP.js +1 -1
- package/src/main/js/sap/ushell/services/SearchableContent.js +1 -1
- package/src/main/js/sap/ushell/services/ShellNavigation.js +1 -1
- package/src/main/js/sap/ushell/services/SmartNavigation.js +1 -1
- package/src/main/js/sap/ushell/services/SpaceContent.js +1 -1
- package/src/main/js/sap/ushell/services/UITracer.js +1 -1
- package/src/main/js/sap/ushell/services/URLShortening.js +1 -1
- package/src/main/js/sap/ushell/services/URLTemplate.js +1 -1
- package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +687 -272
- package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +1 -1
- package/src/main/js/sap/ushell/services/UserDefaultParameters.js +1 -1
- package/src/main/js/sap/ushell/services/UserInfo.js +1 -1
- package/src/main/js/sap/ushell/services/UserRecents.js +1 -1
- package/src/main/js/sap/ushell/services/VisualizationDataProvider.js +1 -1
- package/src/main/js/sap/ushell/services/VisualizationInstantiation.js +1 -1
- package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/ContentExtensionAdapterConfig.js +1 -1
- package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/FeaturedGroupConfig.js +1 -1
- package/src/main/js/sap/ushell/services/_CrossApplicationNavigation/utils.js +1 -1
- package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +1 -1
- package/src/main/js/sap/ushell/state/BackNavigation.js +1 -1
- package/src/main/js/sap/ushell/state/ContentDensity.js +213 -0
- package/src/main/js/sap/ushell/state/Favicon.js +119 -0
- package/src/main/js/sap/ushell/state/StateManager.js +1 -0
- package/src/main/js/sap/ushell/state/StrategyFactory/UserActionsStrategy.js +3 -2
- package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +1 -1
- package/src/main/js/sap/ushell/themes/base/ApplicationContainer.less +3 -2
- package/src/main/js/sap/ushell/themes/base/FlexibleColumnLayout.less +10 -0
- package/src/main/js/sap/ushell/themes/base/NavContainer.less +6 -0
- package/src/main/js/sap/ushell/themes/base/ShellHeader.less +8 -8
- package/src/main/js/sap/ushell/themes/base/library.source.less +2 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/ApplicationContainer.less +9 -1
- package/src/main/js/sap/ushell/themes/sap_belize_base/NavContainer.less +6 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/library.source.less +1 -0
- package/src/main/js/sap/ushell/themes/sap_bluecrystal_base/ApplicationContainer.less +9 -1
- package/src/main/js/sap/ushell/themes/sap_bluecrystal_base/NavContainer.less +6 -0
- package/src/main/js/sap/ushell/themes/sap_bluecrystal_base/library.source.less +1 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_ApplicationContainer.less +9 -1
- package/src/main/js/sap/ushell/themes/sap_hcb/base_NavContainer.less +6 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_ShellHeader.less +1 -1
- package/src/main/js/sap/ushell/themes/sap_hcb/library.source.less +1 -0
- package/src/main/js/sap/ushell/thirdparty/Icons.js +180 -8
- package/src/main/js/sap/ushell/thirdparty/MenuItem.js +355 -0
- package/src/main/js/sap/ushell/thirdparty/ShellBar.js +1892 -0
- package/src/main/js/sap/ushell/thirdparty/ShellBarItem.js +89 -0
- package/src/main/js/sap/ushell/thirdparty/ShellBarSpacer.js +40 -0
- package/src/main/js/sap/ushell/thirdparty/UserMenu.js +220 -314
- package/src/main/js/sap/ushell/thirdparty/UserMenuAccount.js +19 -9
- package/src/main/js/sap/ushell/thirdparty/UserMenuItem.js +55 -414
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ar2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ar3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_bg2.js +16 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_bg3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ca2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ca3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cnr2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cnr3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cs2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cs3.js +44 -8
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cy2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cy3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_da2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_da3.js +43 -7
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_de2.js +16 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_de3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_el2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_el3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_GB2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_GB3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_sappsd2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_sappsd3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saprigi2.js +9 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saprigi3.js +16 -4
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saptrc2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saptrc3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es2.js +16 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es_MX2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es_MX3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_et2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_et3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fi2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fi3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr2.js +20 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr3.js +43 -7
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr_CA2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr_CA3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hi2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hi3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hr2.js +21 -6
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hr3.js +42 -6
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hu2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hu3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/{messagebundle_in.js → messagebundle_id.js} +2 -2
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_id2.js +665 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_id3.js +551 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_it2.js +33 -18
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_it3.js +76 -40
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_iw2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_iw3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ja2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ja3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_kk2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_kk3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ko2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ko3.js +43 -7
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lt2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lt3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lv2.js +26 -11
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lv3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_mk2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_mk3.js +43 -7
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ms2.js +17 -2
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ms3.js +42 -6
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_nl2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_nl3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_no2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_no3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pl2.js +20 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pl3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt2.js +16 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt_PT2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt_PT3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ro2.js +16 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ro3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ru2.js +18 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ru3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sh2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sh3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sk2.js +16 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sk3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sl2.js +16 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sl3.js +42 -6
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sr2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sr3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sv2.js +16 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sv3.js +43 -7
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_th2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_th3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_tr2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_tr3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_uk2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_uk3.js +42 -6
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_vi2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_vi3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_CN2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_CN3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_TW2.js +15 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_TW3.js +41 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css10.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css11.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css12.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css13.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css14.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css15.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css16.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css17.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css18.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css19.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css2.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css20.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css21.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css22.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css23.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css24.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css3.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css4.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css5.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css6.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css7.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css8.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css9.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/event-strict.js +7 -0
- package/src/main/js/sap/ushell/thirdparty/i18n-defaults.js +146 -0
- package/src/main/js/sap/ushell/thirdparty/parameters-bundle.css25.js +497 -506
- package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents/dist/MenuItem.js +5 -0
- package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-base.js +16 -2
- package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-fiori/ShellBar.js +4 -0
- package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-fiori/ShellBarItem.js +4 -0
- package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-fiori/ShellBarSpacer.js +4 -0
- package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-fiori/dist/ShellBar.js +138 -0
- package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-fiori/dist/ShellBarItem.js +61 -0
- package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-fiori/dist/ShellBarSpacer.js +46 -0
- package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-fiori/dist/UserMenuAccount.js +5 -0
- package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-fiori.js +21 -3
- package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-icons/AllIcons.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents.js +17 -2
- package/src/main/js/sap/ushell/thirdparty/webcomponents-base.js +4270 -17
- package/src/main/js/sap/ushell/thirdparty/webcomponents-base2.js +7 -0
- package/src/main/js/sap/ushell/thirdparty/webcomponents-fiori.js +5 -5
- package/src/main/js/sap/ushell/thirdparty/webcomponents.js +10 -14
- package/src/main/js/sap/ushell/ui/AppContainer.js +6 -0
- package/src/main/js/sap/ushell/ui/ShellHeader.js +4 -40
- package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +1 -1
- package/src/main/js/sap/ushell/ui/footerbar/AboutDialog.controller.js +28 -27
- package/src/main/js/sap/ushell/ui/footerbar/SaveAsTile.controller.js +1 -1
- package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
- package/src/main/js/sap/ushell/ui/launchpad/Section.js +1 -1
- package/src/main/js/sap/ushell/ui/launchpad/VizInstanceCdm.js +1 -7
- package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +1 -1
- package/src/main/js/sap/ushell/ui/shell/RightFloatingContainer.js +249 -249
- package/src/main/js/sap/ushell/ui/shell/ShellAppTitle.js +35 -3
- package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +1 -1
- package/src/main/js/sap/ushell/ui/utils.js +1 -1
- package/src/main/js/sap/ushell/ui5service/ShellUIServiceFactory.js +1 -1
- package/src/main/js/sap/ushell/ui5service/UserStatus.js +1 -1
- package/src/main/js/sap/ushell/utils/RestrictedJSONModel.js +16 -0
- package/src/main/js/sap/ushell/utils/UrlParsing.js +96 -94
- package/src/main/js/sap/ushell/utils/UrlShortening.js +1 -1
- package/src/main/js/sap/ushell/utils/workpage/WorkPageHost.js +2 -2
- package/src/main/js/sap/ushell/utils/workpage/WorkPageService.js +12 -6
- package/src/main/js/sap/ushell/utils/workpage/WorkPageVizInstantiation.js +1 -1
- package/src/test/js/sap/ushell/bootstrap/sandbox.js +1 -1
- package/ui5.yaml +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/ApplicationContainerRenderer.js +0 -35
- package/src/main/js/sap/ushell/components/shell/SideNavigation/view/SideNavigation.view.xml +0 -52
- package/src/main/js/sap/ushell/services/Ui5ComponentLoader/utils.js +0 -375
- package/src/main/js/sap/ushell/thirdparty/Theme.js +0 -130
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_in2.js +0 -266
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_in3.js +0 -143
- package/src/main/js/sap/ushell/thirdparty/i18n.js +0 -25
- package/src/main/js/sap/ushell/thirdparty/i18nBundle.js +0 -9
- package/src/main/js/sap/ushell/thirdparty/property.js +0 -50
- /package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/ApplicationContainerCache.js +0 -0
- /package/src/main/js/sap/ushell/{components/applicationIntegration → appIntegration}/PostMessageManager/ExtensionItems.js +0 -0
- /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
|
+
}));
|