{"version":3,"sources":["../src/elements/popper-close.ts"],"sourcesContent":["import { html, css, LitElement } from 'lit';\nimport { customElement } from 'lit/decorators.js';\nimport { emitEvent } from '../utilities/events';\n\n/**\n * @since 2.0.0\n * @status stable\n *\n * @tagname kemet-popper-close\n * @summary A close button for the popper\n *\n * @event kemet-closed-pressed\n *\n */\n\n@customElement('kemet-popper-close')\nexport default class KemetPopperClose extends LitElement {\n  static styles = [\n    css`\n      button {\n        font: inherit;\n        color: inherit;\n        cursor: pointer;\n        border: 0;\n        background: transparent;\n      }\n    `,\n  ];\n\n  render() {\n    return html`\n      <button @click=${() => this.close()} @keyup=${(event: KeyboardEvent) => this.handleKeyboard(event)}>\n        <slot></slot>\n      </button>\n    `;\n  }\n\n  close() {\n    emitEvent(this, 'kemet-closed-pressed', this);\n  }\n\n  handleKeyboard(event: KeyboardEvent) {\n    event.preventDefault();\n\n    if (event.code === 'Space' || event.key === 'Enter') {\n      this.close();\n    }\n  }\n}\n\ndeclare global {\n  interface HTMLElementTagNameMap {\n    'kemet-popper-close': KemetPopperClose\n  }\n}\n"],"mappings":";;;;;;;;AAAA,SAAS,MAAM,KAAK,kBAAkB;AACtC,SAAS,qBAAqB;AAe9B,IAAqB,mBAArB,cAA8C,WAAW;AAAA,EAavD,SAAS;AACP,WAAO;AAAA,uBACY,MAAM,KAAK,MAAM,CAAC,WAAW,CAAC,UAAyB,KAAK,eAAe,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA,EAItG;AAAA,EAEA,QAAQ;AACN,cAAU,MAAM,wBAAwB,IAAI;AAAA,EAC9C;AAAA,EAEA,eAAe,OAAsB;AACnC,UAAM,eAAe;AAErB,QAAI,MAAM,SAAS,WAAW,MAAM,QAAQ,SAAS;AACnD,WAAK,MAAM;AAAA,IACb;AAAA,EACF;AACF;AAhCqB,iBACZ,SAAS;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASF;AAXmB,mBAArB;AAAA,EADC,cAAc,oBAAoB;AAAA,GACd;","names":[]}