import { LitElement, html } from 'lit'; import { customElement, property } from 'lit/decorators.js'; import HeaderPanelLinkScss from './headerPanelLink.scss'; /** * Header fly-out panel link. * @fires on-click - Captures the click event and emits the original event details. * @slot unnamed - Slot for link text/content. */ @customElement('kyn-header-panel-link') export class HeaderPanelLink extends LitElement { static override styles = HeaderPanelLinkScss; /** Link url. */ @property({ type: String }) href = ''; /** Defines a target attribute for where to load the URL. Possible options include "_self" (default), "_blank", "_parent", "_top" */ @property({ type: String }) target = '_self' as const; /** Defines a relationship between a linked resource and the document. An empty string (default) means no particular relationship */ @property({ type: String }) rel = ''; override render() { return html` this.handleClick(e)} > `; } private handleClick(e: Event) { const event = new CustomEvent('on-click', { detail: { origEvent: e }, }); this.dispatchEvent(event); } } declare global { interface HTMLElementTagNameMap { 'kyn-header-panel-link': HeaderPanelLink; } }