@scania/tegel
Version:
Tegel Design System
29 lines (25 loc) • 2.07 kB
JavaScript
import { r as registerInstance, h, H as Host, a as getElement } from './index-9xxNGlso.js';
import { i as inheritAriaAttributes } from './inheritAriaAttributes-DyLhgCIg.js';
import './inheritAttributes-CF8bH08v.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 TdsSideMenuCloseButton = class {
constructor(hostRef) {
registerInstance(this, hostRef);
}
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" }))));
}
get host() { return getElement(this); }
};
TdsSideMenuCloseButton.style = sideMenuCloseButtonCss();
export { TdsSideMenuCloseButton as tds_side_menu_close_button };