import { html, LitElement, css } from 'lit';
import { browserDetection, DisabledWithTabIndexMixin } from '@lion/ui/core.js';
const isKeyboardClickEvent = (/** @type {KeyboardEvent} */ e) => e.key === ' ' || e.key === 'Enter';
const isSpaceKeyboardClickEvent = (/** @type {KeyboardEvent} */ e) => e.key === ' ';
/**
* @typedef {import('@lion/core').TemplateResult} TemplateResult
*/
/**
* Use LionButton (or LionButtonReset|LionButtonSubmit) when there is a need to extend HTMLButtonElement.
* It allows to create complex shadow DOM for buttons needing this. Think of:
* - a material Design button that needs a JS controlled ripple
* - a LionSelectRich invoker that needs a complex shadow DOM structure
* (for styling/maintainability purposes)
* - a specialized button (for instance a primary button or icon button in a Design System) that
* needs a simple api: `text` is always better than
* `