UNPKG

@scania/tegel

Version:
1 lines 3.16 kB
import{t,p as o,H as e,h as a,a as i}from"./index.js";const s=o(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.disabled=!1,this.selected=!1}async setSelected(t){this.selected=t}connectedCallback(){const t=this.host.querySelectorAll("button, a");for(let o=0;o<t.length;o++){const e=t[o];e.getAttribute("aria-controls")||console.warn("Tegel navigation-tab component: Interactive elements should have aria-controls attribute to link the tab to its corresponding panel"),"tab"!==e.getAttribute("role")&&console.warn('Tegel navigation-tab component: Interactive elements should have attribute role="tab"'),this.disabled?e.setAttribute("aria-disabled","true"):e.removeAttribute("aria-disabled")}}render(){return a(i,{key:"362f628f25730c6e878172a64d94f34bdc3e5ddb"},a("div",{key:"58767c9578afb7dcb6c30c22fb61bf366c267e4d",class:`navigation-tab-item ${this.selected?"selected":""}\n ${this.disabled?"disabled":""}`},a("slot",{key:"c3bfcb9677f7cb318b1e70a53135f31b79345d78"})))}get host(){return this}static get style(){return':host{box-sizing:border-box;display:block}:host *{box-sizing:border-box}:host ::slotted(*){all:unset;font:var(--tds-headline-07) !important;letter-spacing:var(--tds-headline-07-ls) !important;color:var(--tds-navigation-tabs-tab-color);text-decoration:none;display:block;position:relative;transition:color 0.15s ease-in-out 0s;white-space:nowrap;background-color:transparent;border:0;width:100%;padding:26px 0}:host ::slotted(*:focus-visible)::before{content:"";position:absolute;left:0;right:0;top:3px;bottom:3px;outline:2px solid var(--tds-focus-outline-color);box-shadow:0 0 0 1px var(--tds-white);outline-offset:1px;z-index:1}:host .navigation-tab-item:not(.selected)::after{width:0%;transition:width 0.15s ease-in-out 0s}:host .navigation-tab-item{position:relative}:host .navigation-tab-item:hover{cursor:pointer}:host .navigation-tab-item:hover ::slotted(*){color:var(--tds-navigation-tabs-tab-color-hover)}:host .navigation-tab-item:hover::after{width:100%}:host .navigation-tab-item::after{content:" ";position:absolute;bottom:0;right:0;left:0;margin-left:auto;width:0%;margin-right:auto;height:2px;background-color:var(--tds-navigation-tabs-tab-indicator-background-hover);z-index:1}:host .navigation-tab-item:hover:focus-within::after{bottom:3px}:host .selected ::slotted(*){color:var(--tds-navigation-tabs-tab-color-selected)}:host .selected::after{width:100%;background-color:var(--tds-navigation-tabs-tab-indicator-background-active)}:host .disabled ::slotted(*){color:var(--tds-navigation-tabs-tab-color-disabled)}:host .disabled::after{content:none}:host .disabled ::slotted(*:hover){cursor:not-allowed;color:var(--tds-navigation-tabs-tab-color-disabled)}:host .disabled ::slotted(*:focus-visible){outline:none}:host(.last){margin-right:32px}'}},[257,"tds-navigation-tab",{disabled:[4],selected:[32],setSelected:[64]}]);function n(){"undefined"!=typeof customElements&&["tds-navigation-tab"].forEach((o=>{"tds-navigation-tab"===o&&(customElements.get(t(o))||customElements.define(t(o),s))}))}n();const r=s,d=n;export{r as TdsNavigationTab,d as defineCustomElement}