{"version":3,"names":["navigationLogoCss","EonUiNavigationLogoStyle0","NavigationLogo","this","localization","NAVIGATION_FLYOUT_LINK_LOCALIZATION","NAVIGATION_FLYOUT_LINK_TARGET_SELF","componentWillLoad","setCurrentLocalization","computeAriaLabel","componentDidLoad","navigationLogoLinkLoad","emit","setCurrentLocalizationDelegate","ariaLabel","currentLocalization","currentAriaLabel","computeLinkAriaLabel","href","handleClick","_event","navigationLogoLinkClick","render","h","Host","key","class","pfx","title","hostElement","getAttribute","target","current","onClick","event","role","tabindex","src","imageSrc","alt","description"],"sources":["src/components/navigation/navigation-components/navigation-logo/navigation-logo.scss?tag=eon-ui-navigation-logo&encapsulation=shadow","src/components/navigation/navigation-components/navigation-logo/navigation-logo.tsx"],"sourcesContent":["/**\n * THEME JSON CONFIG CSS VARS\n * The following default component scss variables can be overwritten via theme configuration per brand.\n * If you need to add new one, please make sure to set a default value.\n * JSON Definition for Component with name \"Example\": testCssVar: \"20px\"\n * Resulting CSS var: $example-test-css-var: 20px;\n */\n\n$navigation-logo-color: #ea1b0a !default;\n\n/* END THEME JSON CONFIG CSS VARS ******************************************************* */\n\n:host {\n display: block;\n height: 100%;\n\n *,\n :after,\n :before {\n box-sizing: border-box;\n outline: 0 none;\n text-rendering: optimizelegibility;\n }\n}\n\n.#{$prefix}logo-wrapper {\n position: relative;\n height: 100%;\n padding: 16px 16px 16px 16px;\n display: flex;\n align-items: center;\n\n a {\n display: flex;\n height: 100%;\n\n &:focus-visible {\n outline: $navigation-logo-color solid 2px;\n outline-offset: 4px;\n }\n }\n\n img {\n position: relative;\n display: block;\n align-self: center;\n max-height: 100%;\n }\n}\n","import { h, Component, Host, Element, Prop, Event, EventEmitter, Watch } from \"@stencil/core\";\nimport pfx from \"../../../../utils/style-class-prefix-helper\";\nimport {\n NavigationFlyoutLinkLocalization,\n NavigationFlyoutLinkTarget\n} from \"../navigation-flyout/navigation-flyout-link/constants/navigation-flyout-link-types\";\nimport { NAVIGATION_FLYOUT_LINK_TARGET_SELF } from \"../navigation-flyout/navigation-flyout-link/constants/navigation-flyout-link-constants\";\nimport { Localization, setCurrentLocalizationDelegate } from \"../../../../common/localizable-component\";\nimport { NAVIGATION_FLYOUT_LINK_LOCALIZATION } from \"../navigation-flyout/navigation-flyout-link/constants/navigation-flyout-link-i18n\";\nimport { computeLinkAriaLabel } from \"../../../../utils/link-helper\";\n// import { InitLogging } from \"../../../../decorators/init-logging\";\n\n/**\n * @slot [unnamed] - holds any number of HTML elements.\n */\n@Component({\n tag: \"eon-ui-navigation-logo\",\n styleUrl: \"navigation-logo.scss\",\n assetsDirs: [\"assets-navigation-logo\"],\n shadow: true\n})\nexport class NavigationLogo {\n // @InitLogging() sentryTransaction;\n private currentAriaLabel: string;\n\n @Element() hostElement: HTMLEonUiNavigationLogoElement;\n\n localization: Localization = NAVIGATION_FLYOUT_LINK_LOCALIZATION;\n currentLocalization: NavigationFlyoutLinkLocalization;\n\n /**\n * Raised when the link has been clicked.\n */\n @Event() navigationLogoLinkClick: EventEmitter;\n\n /**\n * Raised when the link has been loaded.\n */\n @Event() navigationLogoLinkLoad: EventEmitter;\n\n /**\n * Source to badge image. Can be any browser supported image file.\n */\n @Prop() imageSrc: string;\n\n /**\n * Title of the badge to describe it in more detail.\n */\n @Prop() description: string;\n\n /**\n * Defines the target url of a Link.\n * Make sure to prefix this with a protocol if the link should display an icon automatically.\n * Valid protocols are \"http://\", \"https://\", \"mailto:\" and \"tel:\".\n * @example http://www.google.de, tel:0123456789\n */\n @Prop({ mutable: true }) href: string;\n\n /**\n * Specifies how the link is opened in the browser, e.g. in new window/tab.\n * @example \"_blank\", \"_self\", \"_parent\", \"_top\"\n * @default \"_self\"\n */\n @Prop() target: NavigationFlyoutLinkTarget = NAVIGATION_FLYOUT_LINK_TARGET_SELF;\n\n /**\n * Specifies the label to use for accessibility.\n * Always provide this for pure icon buttons!\n */\n @Prop() ariaLabel: string;\n\n /**\n * Set link to current if it matches the current url.\n */\n @Prop() current: boolean;\n\n componentWillLoad() {\n this.setCurrentLocalization();\n this.computeAriaLabel();\n }\n\n componentDidLoad() {\n this.navigationLogoLinkLoad.emit();\n }\n\n setCurrentLocalization() {\n setCurrentLocalizationDelegate(this);\n }\n\n @Watch(\"href\")\n private computeAriaLabel() {\n if (this.ariaLabel || !this.currentLocalization) {\n this.currentAriaLabel = this.ariaLabel;\n return;\n }\n this.currentAriaLabel = computeLinkAriaLabel(this.currentLocalization, this.href, false);\n }\n\n handleClick(_event: Event) {\n this.navigationLogoLinkClick.emit(this.href);\n }\n\n render() {\n return (\n \n
\n this.handleClick(event)}\n role=\"menuitem\"\n tabindex=\"0\"\n >\n {this.description}\n \n
\n
\n );\n }\n}\n"],"mappings":"+OAAA,MAAMA,EAAoB,wu9CAC1B,MAAAC,EAAeD,E,MCoBFE,EAAc,M,yJAMzBC,KAAAC,aAA+DC,E,mFAoClBC,E,gDAa7C,iBAAAC,GACEJ,KAAKK,yBACLL,KAAKM,kB,CAGP,gBAAAC,GACEP,KAAKQ,uBAAuBC,M,CAG9B,sBAAAJ,GACEK,EAA+BV,K,CAIzB,gBAAAM,GACN,GAAIN,KAAKW,YAAcX,KAAKY,oBAAqB,CAC/CZ,KAAKa,iBAAmBb,KAAKW,UAC7B,M,CAEFX,KAAKa,iBAAmBC,EAAqBd,KAAKY,oBAAqBZ,KAAKe,KAAM,M,CAGpF,WAAAC,CAAYC,GACVjB,KAAKkB,wBAAwBT,KAAKT,KAAKe,K,CAGzC,MAAAI,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,OAAAE,IAAA,2CAAKC,MAAOC,EAAI,CAAE,eAAgB,QAChCJ,EAAA,KAAAE,IAAA,2CACEG,MAAOzB,KAAK0B,YAAYC,aAAa,SACrCZ,KAAMf,KAAKe,KACXa,OAAQ5B,KAAK4B,OACbL,MAAOC,EAAI,CAAEK,UAAW7B,KAAK6B,UAAU,aAC3B7B,KAAKa,iBACjBiB,QAAUC,GAAsB/B,KAAKgB,YAAYe,GACjDC,KAAK,WACLC,SAAS,KAETb,EAAA,OAAAE,IAAA,2CAAKY,IAAKlC,KAAKmC,SAAUC,IAAKpC,KAAKqC,YAAaZ,MAAOzB,KAAKqC,gB"}