UNPKG

@scania/tegel

Version:
31 lines (30 loc) 1.49 kB
import { h, Host } from "@stencil/core"; import inheritAriaAttributes from "../../../utils/inheritAriaAttributes"; export class TdsSideMenuCloseButton { 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: '3f7eef53ce8d066635998152e1684bd8a0034bbb' }, h("button", Object.assign({ key: '71029ead3db82331818f75bc165f4aaa85de4db3' }, buttonProps), h("tds-icon", { key: 'eb93cbf265c4a57f02a1457e65379c872bd442f5', name: "cross", size: "20px", svgTitle: "Cross" })))); } static get is() { return "tds-side-menu-close-button"; } static get encapsulation() { return "shadow"; } static get originalStyleUrls() { return { "$": ["side-menu-close-button.scss"] }; } static get styleUrls() { return { "$": ["side-menu-close-button.css"] }; } static get elementRef() { return "host"; } }