import * as lit_html from 'lit-html'; import * as lit from 'lit'; import { LitElement } from 'lit'; import { F as FormSubmitController } from '../form-controller-BR0gZhrG.js'; import { a as TypeRoundedSizes } from '../constants-CcB9aXsT.js'; declare const variants: readonly ["standard", "text", "outlined"]; declare enum EnumVariants { STANDARD = "standard", TEXT = "text", OUTLINED = "outlined" } type TypeVariants = typeof variants[number]; declare const targets: readonly ["_blank", "_self", "_parent", "_top"]; declare enum EnumTargets { BLANK = "_blank", SELF = "_self", PARENT = "_parent", TOP = "_top" } type TypeTargets = typeof targets[number]; declare const types: readonly ["button", "submit", "reset"]; declare enum EnumTypes { BUTTON = "button", SUBMIT = "submit", RESET = "reset" } type TypeTypes = typeof types[number]; /** * @since 1.0.0 * @status stable * * @tagname kemet-button * @summary A versatile button that can be used either to submit a form, trigger an action, or link to content. * * @prop {boolean} active - Determines if the button is active * @prop {boolean} hover - Is true when the button is hovered * @prop {boolean} focused - Is true when the button is focused * @prop {string} link - The url a button should link too * @prop {boolean} outlined - Outline style for a button * @prop {boolean} disabled - Determines whether not a button is disabled * @prop {TypeVariants} variant - Controls the type of button. standard | text | circle | rounded | pill * @prop {TypeTargets} target - The target attribute for a link * @prop {TypeTypes} type - The type attribute for a button * @prop {TypeRoundedSizes} rounded - The border radius of the button * * @slot left - Allows you to place an icon to the left of the button text. * @slot right - Allows you to place an icon to the right of the button text. * * @csspart button - The button or anchor element. * * @cssproperty --kemet-button-font-size - The font size. * @cssproperty --kemet-button-color - The text color. * @cssproperty --kemet-button-width - The width. * @cssproperty --kemet-button-height - The height. * @cssproperty --kemet-button-border - The border. * @cssproperty --kemet-button-border-radius - The border radius. * @cssproperty --kemet-button-transition-speed - The transition speed of the hover effect. * @cssproperty --kemet-button-background-color - The background color. * @cssproperty --kemet-button-hover-brightness - The brightness of the hover effect. * @cssproperty --kemet-button-gap - The gap between the button and icons. * @cssproperty --kemet-button-padding - The button padding. * @cssproperty --kemet-button-hover-decoration - The decoration for a text button's hover. * @cssproperty --kemet-button-circle-size - The diameter of a circle button. * @cssproperty --kemet-button-rounded-amount - The border radius of the rounded button. * @cssproperty --kemet-button-border-width - The width of the outline border. * @cssproperty --kemet-button-border-style - The style of the outline border. * @cssproperty --kemet-button-border-color - The color of the outline border. * @cssproperty --kemet-button-disabled-opacity - The opacity of the disabled state. * */ declare class KemetButton extends LitElement { /** @internal */ formSubmitController: FormSubmitController; static styles: lit.CSSResult[]; active: boolean; hover: boolean; focused: boolean; link: string; disabled: boolean; variant: TypeVariants; target: TypeTargets; type: TypeTypes; iconLeft: boolean; iconRight: boolean; rounded: TypeRoundedSizes; constructor(); render(): lit_html.TemplateResult<1>; handleLeftChange(): void; handleRightChange(): void; /** * Sets hover to true onMouseOver * @private */ handleMouseOver(): void; /** * Sets hover to false onMouseOut * @private */ handleMouseOut(): void; /** * Handles click behavior * @private */ handleClick(): void; /** * Handles blur * @private */ handleBlur(): void; /** * Handles keyup * @private * @param {object} event - event object */ handleKeyUp(event: KeyboardEvent): void; } declare global { interface HTMLElementTagNameMap { 'kemet-button': KemetButton; } } export { EnumTargets, EnumTypes, EnumVariants, type TypeTargets, type TypeTypes, type TypeVariants, KemetButton as default, targets, types, variants };