@scania/tegel
Version:
Tegel Design System
54 lines (49 loc) • 2.95 kB
JavaScript
import { p as proxyCustomElement, H, h, c as Host } from './p-28ef5186.js';
import { i as inheritAriaAttributes } from './p-0bd4c19c.js';
import { d as defineCustomElement$2 } from './p-b390ece5.js';
const sideMenuCloseButtonCss = ":host button{height:64px;width:100%;text-align:left;padding:0 22px;border:none;background-color:var(--tds-sidebar-side-menu-background-cover);font:var(--tds-headline-07);letter-spacing:var(--tds-headline-07-ls);color:var(--tds-sidebar-side-menu-single-item-color);display:flex;align-items:center;border-bottom:1px solid var(--tds-sidebar-side-menu-bottom-menu-border-top)}:host button:hover{cursor:pointer;background-color:var(--tds-sidebar-item-state-hover)}:host button:focus-visible{cursor:pointer;border:1px solid var(--tds-sidebar-side-menu-single-subitem-selected-border-color)}";
const TdsSideMenuCloseButtonStyle0 = sideMenuCloseButtonCss;
const TdsSideMenuCloseButton$1 = /*@__PURE__*/ proxyCustomElement(class TdsSideMenuCloseButton extends H {
constructor() {
super();
this.__registerHost();
this.__attachShadow();
}
static handleClick() {
const hamburgerButton = document.querySelector('tds-header-hamburger');
if (hamburgerButton) {
hamburgerButton.setAttribute('aria-expanded', 'false');
}
}
render() {
// Find the closest side menu to this close button
const sideMenuEl = this.host.closest('tds-side-menu');
const sideMenuId = sideMenuEl ? sideMenuEl.id : '';
const buttonProps = Object.assign(Object.assign(Object.assign({ 'aria-label': 'Close' }, (sideMenuId && { 'aria-controls': sideMenuId })), inheritAriaAttributes(this.host)), { 'onClick': TdsSideMenuCloseButton.handleClick });
return (h(Host, { key: 'b0e953d2148179c2a4fd1ed352b9024f6939c77c' }, h("button", Object.assign({ key: 'cd5f48b31d9eb62f4327a2918351920d961c446f' }, buttonProps), h("tds-icon", { key: 'f007bf92a2ba7186006aa4dd5126820108badecf', name: "cross", size: "20px", svgTitle: "Cross" }))));
}
get host() { return this; }
static get style() { return TdsSideMenuCloseButtonStyle0; }
}, [1, "tds-side-menu-close-button"]);
function defineCustomElement$1() {
if (typeof customElements === "undefined") {
return;
}
const components = ["tds-side-menu-close-button", "tds-icon"];
components.forEach(tagName => { switch (tagName) {
case "tds-side-menu-close-button":
if (!customElements.get(tagName)) {
customElements.define(tagName, TdsSideMenuCloseButton$1);
}
break;
case "tds-icon":
if (!customElements.get(tagName)) {
defineCustomElement$2();
}
break;
} });
}
defineCustomElement$1();
const TdsSideMenuCloseButton = TdsSideMenuCloseButton$1;
const defineCustomElement = defineCustomElement$1;
export { TdsSideMenuCloseButton, defineCustomElement };