@esri/calcite-components
Version:
Web Components for Esri's Calcite Design System.
3 lines (2 loc) • 4.49 kB
JavaScript
/* COPYRIGHT Esri - https://js.arcgis.com/5.0/LICENSE.txt */
import{a as m}from"./AZJW5LNO.js";import"./DNVOLHYG.js";import{a as s}from"./HXIMHC6U.js";import{a as u}from"./3XLPUKLV.js";import"./3YEM2IPT.js";import"./QUTTHRH3.js";import"./MNIRD7Q7.js";import"./ZQBZ5QPB.js";import"./CIYXQ5G6.js";import{E as f,F as i,H as n,Q as p,g as v,h as t}from"./G7AHLVJ5.js";var e={container:"container",containerLink:"container--link",textContainer:"text-container",heading:"heading",description:"description",image:"image",standalone:"standalone",icon:"icon"},x=v`:host{display:inline-flex}.container{margin:0;display:flex;align-items:center;justify-content:center;font-size:var(--calcite-font-size-relative-md);line-height:var(--calcite-font-line-height-md);background-color:var(--calcite-navigation-background-color, var(--calcite-internal-navigation-logo-background-color, var(--calcite-color-foreground-1)));border-block-end:2px solid var(--calcite-color-transparent);transition-property:background-color;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out}.container--link{cursor:pointer;text-decoration-line:none;outline-color:transparent}:host(:focus) .container--link{outline:var(--calcite-border-width-md) solid var(--calcite-color-focus, var(--calcite-ui-focus-color, var(--calcite-color-brand)));outline-offset:calc(calc(-1 * var(--calcite-spacing-base)) * calc(1 - (2*clamp(0,var(--calcite-offset-invert-focus),1))))}.image,.icon{margin:0;display:flex;block-size:1.75rem;padding-inline:1rem;color:var(--calcite-navigation-logo-text-color, var(--calcite-icon-color, var(--calcite-internal-navigation-logo-text-color, var(--calcite-ui-icon-color, inherit))))}.image~.icon{padding-inline-start:0px}.image~.text-container,.icon~.text-container{padding-inline-start:0px}:host([href]:hover),:host([href]:focus){--calcite-internal-navigation-logo-background-color: var(--calcite-color-foreground-2)}:host([href]:active){--calcite-internal-navigation-logo-background-color: var(--calcite-color-foreground-3)}:host([active]) .container{border-block-end-color:var(--calcite-navigation-accent-color, var(--calcite-color-brand))}:host([active]),:host([href]:active){--calcite-internal-navigation-logo-text-color: var(--calcite-color-brand)}.text-container{margin-block-start:.125rem;display:flex;flex-direction:column;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-inline:1rem;text-align:start}.heading{margin-inline-start:0px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--calcite-font-size-relative-md);font-weight:var(--calcite-font-weight-medium);color:var(--calcite-navigation-logo-heading-text-color, var(--calcite-color-text-1))}.standalone{font-size:var(--calcite-font-size-relative-lg)}.description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--calcite-color-text-2);color:var(--calcite-navigation-logo-text-color, var(--calcite-color-text-2));font-size:var(--calcite-font-size--1)}:host([hidden]){display:none}[hidden]{display:none}`,d=class extends f{constructor(){super(...arguments),this.focusSetter=u()(this),this.iconFlipRtl=!1}static{this.properties={active:[7,{},{reflect:!0,type:Boolean}],description:1,heading:1,headingLevel:[11,{},{type:Number,reflect:!0}],href:[3,{},{reflect:!0}],icon:[3,{type:String},{reflect:!0}],iconFlipRtl:[7,{},{reflect:!0,type:Boolean}],label:1,rel:[3,{},{reflect:!0}],target:[3,{},{reflect:!0}],thumbnail:1}}static{this.shadowRootOptions={mode:"open",delegatesFocus:!0}}static{this.styles=x}async setFocus(o){return this.focusSetter(()=>this.href?this.el:void 0,o)}renderIcon(){return t`<calcite-icon class=${i(e.icon)} .flipRtl=${this.iconFlipRtl} .icon=${this.icon} scale=l></calcite-icon>`}renderHeaderContent(){let{heading:o,headingLevel:a,description:r}=this,c=o?s(e.heading,m({class:{[e.heading]:!0,[e.standalone]:!this.description},level:a,children:o})):null,l=r?s(e.description,t`<span class=${i(e.description)}>${r}</span>`):null;return c||l?s(e.textContainer,t`<div class=${i(e.textContainer)}>${c}${l}</div>`):null}render(){let{icon:o,href:a,label:r,rel:c,target:l,thumbnail:g}=this,h=t`${g&&t`<img alt=${(r||"")??n} class=${i(e.image)} src=${g??n}>`||""}${o&&this.renderIcon()||""}${this.renderHeaderContent()}`;return a?t`<a class=${i({[e.container]:!0,[e.containerLink]:!0})} href=${a??n} rel=${c??n} target=${l??n}>${h}</a>`:t`<div class=${i(e.container)}>${h}</div>`}};p("calcite-navigation-logo",d);export{d as NavigationLogo};