@scania/tegel
Version:
Tegel Design System
1 lines • 3.36 kB
JavaScript
import{r as t,h as e,H as o,g as s}from"./p-2049fab2.js";import{d}from"./p-52bf0fdf.js";const r=class{constructor(e){t(this,e)}render(){return e(o,{key:"61b64a52364893a5b67de5797ae49b3c238086ac"},e("div",{key:"29a46213b10ea291137b2fa7e2f28594177da0fb",class:"item"},e("slot",{key:"a844cb74962112475d6da8d1598f0fa7e1fa0b64"})))}};r.style=":host{font:var(--tds-headline-07);letter-spacing:var(--tds-headline-07-ls);color:var(--tds-header-nav-item-color)}:host .item{all:unset;box-sizing:border-box;display:flex;justify-content:center;align-items:center;min-width:var(--tds-header-height);height:var(--tds-header-height);margin:0}:host .item *{box-sizing:border-box}:host slot{white-space:nowrap}:host ::slotted(svg){font-size:20px}";const a=class{constructor(e){t(this,e),this.active=!1,this.selected=!1}updateSlotted(t,e){const o=this.slotEl.assignedElements({flatten:!0})[0];if(o){const s=d(o,t);s&&e(s)}}updateSlottedElements(){this.slotEl&&(this.updateSlotted((t=>"tds-icon"===t.tagName.toLowerCase()||"svg"===t.tagName.toLowerCase()),(t=>t.classList.add("__tds-header-item-icon"))),this.updateSlotted((t=>"img"===t.tagName.toLowerCase()),(t=>t.classList.add("__tds-header-item-image"))))}updateOrder(){this.host.style.order="end"===this.host.getAttribute("order")?"1":"0"}componentDidLoad(){this.slotEl=this.host.shadowRoot.querySelector("slot"),this.updateSlottedElements(),this.slotEl.addEventListener("slotchange",this.updateSlottedElements),this.updateOrder(),this.mutationObserver=new MutationObserver((t=>{t.forEach((t=>{"attributes"===t.type&&"order"===t.attributeName&&this.updateOrder()}))})),this.mutationObserver.observe(this.host,{attributes:!0,attributeFilter:["order"]})}disconnectedCallback(){this.mutationObserver&&this.mutationObserver.disconnect()}render(){return e(o,{key:"4a9d013ab3abde506f9992453cae793db9a652cf"},e("tds-core-header-item",{key:"359634d0bca7720c8a9bfd5c696a89c97df76a75",class:{"component-active":this.active,"component-selected":this.selected}},e("slot",{key:"7318ad6ea4d1dfa0f16b70c6f305ece087aeea2e"})))}get host(){return s(this)}};a.style=":host ::slotted(button),:host ::slotted(a){all:unset;box-sizing:border-box;background-color:var(--tds-header-background);border-right:1px solid var(--tds-header--basic-element-border);width:100%;height:100%;cursor:pointer;padding:0 24px;display:flex;align-items:center;gap:8px}:host ::slotted(button) *,:host ::slotted(a) *{box-sizing:border-box}:host ::slotted(button:hover),:host ::slotted(a:hover){background-color:var(--tds-header-item-hover)}:host ::slotted(button:focus-visible),:host ::slotted(a:focus-visible){outline:2px solid var(--tds-focus-outline-color);box-shadow:0 0 0 1px var(--tds-white);outline-offset:1px;z-index:1}:host .component-active ::slotted(button),:host .component-active ::slotted(a){background-color:var(--tds-header--basic-element-background-open);color:var(--tds-header-nav-item-dropdown-opened-color);border-color:var(--tds-header--basic-element-border-open)}:host .component-selected:not(.component-active) ::slotted(button),:host .component-selected:not(.component-active) ::slotted(a){background-color:var(--tds-header--basic-element-background-selected);padding-top:4px;border-bottom-style:solid;border-bottom-width:4px;border-bottom-color:var(--tds-nav-item-border-color-active)}";export{r as tds_core_header_item,a as tds_header_item}