import * as i0 from '@angular/core';
import { EventEmitter, inject, Renderer2, ElementRef, booleanAttribute, HostListener, Output, Input, HostBinding, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
import * as i1 from '@eui/components/shared';
import { BaseStatesDirective } from '@eui/components/shared';
import { coerceBooleanProperty } from '@angular/cdk/coercion';

/**
 * @description
 * A versatile button component that supports various states, sizes, and visual styles.
 * Can be used as either a button or anchor element with consistent styling.
 */
class EuiButtonComponent {
    constructor() {
        /**
         * @description Data attribute for e2e testing
         * @default eui-button
         */
        this.e2eAttr = 'eui-button';
        /**
         * @description When true, applies basic styling without background
         * @default false
         */
        this.euiBasicButton = false;
        /**
         * @description When true, styles the button as a call-to-action
         * @deprecated will be removed in future eUI version and replaced by euiCTAButton
         * @default false
         */
        this.euiButtonCall = false;
        /**
         * @description When true, styles the button as a call-to-action
         * @default false
         */
        this.euiCTAButton = false;
        /**
         * @description When true, makes the button full-width
         * @default false
         */
        this.euiBlockButton = false;
        /**
         * @description When true, styles the button for icon-only content
         * @default false
         */
        this.euiIconButton = false;
        /**
         * @description When true, style the button when used in avatar trigger (for dropdown trigger f.e. see actionable avatar)
         * @default false
         */
        this.euiAvatarButton = false;
        /**
         * @description When true, allows text content to wrap
         * @default false
         */
        this.euiLineWrap = false;
        /**
         * @description When true, applies styling with lower padding / reduced height and width
         * @default false
         */
        this.isCompact = false;
        /**
         * @description When true, applies styling without focus ring
         * @default false
         */
        this.hasNoFocusRing = false;
        /**
         * @description
         * Event emitted when the button is clicked
         * Emits the button component instance
         */
        this.buttonClick = new EventEmitter();
        this.baseStatesDirective = inject(BaseStatesDirective);
        this._renderer = inject(Renderer2);
        this._elementRef = inject(ElementRef);
        this._isChecked = false;
        this._euiDisabled = false;
    }
    /**
     * @description
     * Computes and returns the CSS classes for the button based on its current state
     *
     * @returns {string} Space-separated string of CSS class names
     */
    get cssClasses() {
        return [
            this.baseStatesDirective.getCssClasses('eui-button'),
            this.euiBasicButton ? 'eui-button--basic eui--basic' : '',
            this.euiBlockButton ? 'eui-button--block' : '',
            this.euiIconButton ? 'eui-button--icon-only' : '',
            this.euiLineWrap ? 'eui-button--line-wrap' : '',
            this.hasNoFocusRing ? 'eui-button--no-focus-ring' : '',
            this.isCompact ? 'eui-button--compact' : '',
            this.euiCTAButton ? 'eui-button--cta' : '',
            this.euiAvatarButton ? 'eui-button--avatar' : '',
        ]
            .join(' ')
            .trim();
    }
    /**
     * @description
     * Controls the checked state of the button
     * When true, applies accent styling
     */
    get isChecked() {
        return this._isChecked;
    }
    set isChecked(value) {
        this.baseStatesDirective.euiAccent = coerceBooleanProperty(value);
        this._isChecked = coerceBooleanProperty(value);
    }
    /**
     * @description
     * Controls the disabled state of the button
     * When true, adds the disabled attribute and prevents interaction
     */
    get euiDisabled() {
        return this._euiDisabled;
    }
    set euiDisabled(value) {
        this._euiDisabled = coerceBooleanProperty(value);
        if (this._euiDisabled) {
            this._renderer.setAttribute(this._elementRef.nativeElement, 'disabled', 'true');
        }
        else {
            this._renderer.removeAttribute(this._elementRef.nativeElement, 'disabled');
        }
    }
    /**
     * @description
     * Click event handler that emits the buttonClick event
     * @private
     */
    onClick() {
        this.buttonClick.emit(this);
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.17", type: EuiButtonComponent, isStandalone: true, selector: "button[euiButton], a[euiButton]", inputs: { e2eAttr: "e2eAttr", id: "id", euiBasicButton: ["euiBasicButton", "euiBasicButton", booleanAttribute], euiButtonCall: ["euiButtonCall", "euiButtonCall", booleanAttribute], euiCTAButton: ["euiCTAButton", "euiCTAButton", booleanAttribute], euiBlockButton: ["euiBlockButton", "euiBlockButton", booleanAttribute], euiIconButton: ["euiIconButton", "euiIconButton", booleanAttribute], euiAvatarButton: ["euiAvatarButton", "euiAvatarButton", booleanAttribute], euiLineWrap: ["euiLineWrap", "euiLineWrap", booleanAttribute], isCompact: ["isCompact", "isCompact", booleanAttribute], hasNoFocusRing: ["hasNoFocusRing", "hasNoFocusRing", booleanAttribute], isChecked: "isChecked", euiDisabled: "euiDisabled" }, outputs: { buttonClick: "buttonClick" }, host: { listeners: { "click": "onClick()" }, properties: { "class": "this.cssClasses", "attr.data-e2e": "this.e2eAttr", "attr.id": "this.id" } }, hostDirectives: [{ directive: i1.BaseStatesDirective, inputs: ["euiPrimary", "euiPrimary", "euiBranding", "euiBranding", "euiSecondary", "euiSecondary", "euiSuccess", "euiSuccess", "euiInfo", "euiInfo", "euiWarning", "euiWarning", "euiDanger", "euiDanger", "euiAccent", "euiAccent", "euiInverse", "euiInverse", "euiVariant", "euiVariant", "euiSizeS", "euiSizeS", "euiSizeM", "euiSizeM", "euiSizeL", "euiSizeL", "euiSizeVariant", "euiSizeVariant", "euiOutline", "euiOutline", "euiRounded", "euiRounded", "euiResponsive", "euiResponsive", "euiStart", "euiStart", "euiEnd", "euiEnd"] }], ngImport: i0, template: "<span class=\"eui-button__container\">\n    <ng-content></ng-content>\n</span>\n", styles: [".eui-19.eui-t-ds2025 :host.eui-button{--_font-s: var(--eui-f-body-s-medium);--_font-m: var(--eui-f-body-m-medium);--_font-l: var(--eui-f-body-m-medium)}.eui-19 :host.eui-button{--_color: var(--eui-c-s-secondary);--_basic-color: var(--eui-c-s-secondary);--_bg-color: var(--eui-c-s-secondary-surface-light);--_on-bg-color: var(--eui-c-s-secondary-on-surface-light);--_border-color: var(--eui-c-s-secondary-border-light);--_outline-border-color: var(--eui-c-s-secondary-border-light);--_hover-color: var(--eui-c-s-secondary-surface-light-hover);--_on-hover-color: var(--eui-c-s-secondary);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-s-secondary-surface-light-hover);--_on-basic-hover-color: var(--eui-c-s-secondary);--_outline-color: var(--eui-c-s-secondary);--_outline-bg-color: var(--eui-c-white);--_outline-hover-color: var(--eui-c-s-secondary-surface-light-hover);--_on-outline-hover-color: var(--eui-c-s-secondary);--_font-s: var(--eui-f-m-compact);--_font-m: var(--eui-f-m);--_font-l: var(--eui-f-m)}.eui-19 :host.eui-button--branding{--_color: var(--eui-c-branding);--_bg-color: var(--eui-c-branding-bg-lighter);--_on-bg-color: var(--eui-c-branding);--_border-color: var(--eui-c-branding);--_outline-border-color: var(--eui-c-white);--_hover-color: var(--eui-c-white);--_on-hover-color: var(--eui-c-branding);--_basic-color: var(--eui-c-white);--_basic-bg-color: var(--eui-c-branding);--_basic-hover-color: var(--eui-c-branding-light);--_on-basic-hover-color: var(--eui-c-branding-light-contrast);--_outline-color: var(--eui-c-white);--_outline-bg-color: var(--eui-c-branding);--_outline-hover-color: var(--eui-c-branding-light);--_on-outline-hover-color: var(--eui-c-branding-light-contrast)}.eui-19 :host.eui-button--primary{--_color: var(--eui-c-s-primary);--_basic-color: var(--eui-c-s-primary);--_bg-color: var(--eui-c-s-primary-surface);--_on-bg-color: var(--eui-c-s-primary-surface-contrast);--_border-color: var(--eui-c-s-primary);--_outline-border-color: var(--eui-c-s-primary);--_hover-color: var(--eui-c-s-primary-surface-hover);--_on-hover-color: var(--eui-c-s-primary-surface-hover-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-s-primary-surface-light);--_on-basic-hover-color: var(--eui-c-s-primary);--_outline-color: var(--eui-c-s-primary);--_outline-bg-color: var(--eui-c-white);--_outline-hover-color: var(--eui-c-s-primary-surface-light);--_on-outline-hover-color: var(--eui-c-s-primary)}.eui-19 :host.eui-button--cta{--_color: var(--eui-c-s-cta);--_basic-color: var(--eui-c-s-cta);--_bg-color: var(--eui-c-s-cta-surface);--_on-bg-color: var(--eui-c-s-cta-surface-contrast);--_border-color: transparent;--_outline-border-color: var(--eui-c-s-cta);--_hover-color: var(--eui-c-s-cta-surface-hover);--_on-hover-color: var(--eui-c-s-cta-surface-hover-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-s-cta-surface-light);--_on-basic-hover-color: var(--eui-c-s-cta);--_outline-color: var(--eui-c-s-cta);--_outline-bg-color: var(--eui-c-white);--_outline-hover-color: var(--eui-c-s-cta-surface-light);--_on-outline-hover-color: var(--eui-c-s-cta)}.eui-19 :host.eui-button--info{--_color: var(--eui-c-s-info);--_basic-color: var(--eui-c-s-info);--_bg-color: var(--eui-c-s-info-surface);--_on-bg-color: var(--eui-c-s-info-surface-contrast);--_border-color: var(--eui-c-s-info);--_outline-border-color: var(--eui-c-s-info);--_hover-color: var(--eui-c-s-info-surface-hover);--_on-hover-color: var(--eui-c-s-info-surface-hover-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-s-info-surface-light);--_on-basic-hover-color: var(--eui-c-s-info);--_outline-color: var(--eui-c-s-info);--_outline-bg-color: var(--eui-c-white);--_outline-hover-color: var(--eui-c-s-info-surface-light);--_on-outline-hover-color: var(--eui-c-s-info)}.eui-19 :host.eui-button--success{--_color: var(--eui-c-s-success);--_basic-color: var(--eui-c-s-success);--_bg-color: var(--eui-c-s-success-surface);--_on-bg-color: var(--eui-c-s-success-surface-contrast);--_border-color: var(--eui-c-s-success);--_outline-border-color: var(--eui-c-s-success);--_hover-color: var(--eui-c-s-success-surface-hover);--_on-hover-color: var(--eui-c-s-success-surface-hover-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-s-success-surface-light);--_on-basic-hover-color: var(--eui-c-s-success);--_outline-color: var(--eui-c-s-success);--_outline-bg-color: var(--eui-c-white);--_outline-hover-color: var(--eui-c-s-success-surface-light);--_on-outline-hover-color: var(--eui-c-s-success)}.eui-19 :host.eui-button--warning{--_color: var(--eui-c-s-warning);--_basic-color: var(--eui-c-s-warning);--_bg-color: var(--eui-c-s-warning-surface);--_on-bg-color: var(--eui-c-s-warning-surface-contrast);--_border-color: var(--eui-c-s-warning);--_outline-border-color: var(--eui-c-s-warning);--_hover-color: var(--eui-c-s-warning-surface-hover);--_on-hover-color: var(--eui-c-s-warning-surface-hover-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-s-warning-surface-light);--_on-basic-hover-color: var(--eui-c-s-warning);--_outline-color: var(--eui-c-s-warning);--_outline-bg-color: var(--eui-c-white);--_outline-hover-color: var(--eui-c-s-warning-surface-light);--_on-outline-hover-color: var(--eui-c-s-warning)}.eui-19 :host.eui-button--danger{--_color: var(--eui-c-s-danger);--_basic-color: var(--eui-c-s-danger);--_bg-color: var(--eui-c-s-danger-surface);--_on-bg-color: var(--eui-c-s-danger-surface-contrast);--_border-color: var(--eui-c-s-danger);--_outline-border-color: var(--eui-c-s-danger);--_hover-color: var(--eui-c-s-danger-surface-hover);--_on-hover-color: var(--eui-c-s-danger-surface-hover-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-s-danger-surface-light);--_on-basic-hover-color: var(--eui-c-s-danger);--_outline-color: var(--eui-c-s-danger);--_outline-bg-color: var(--eui-c-white);--_outline-hover-color: var(--eui-c-s-danger-surface-light);--_on-outline-hover-color: var(--eui-c-s-danger)}.eui-19 :host.eui-button--accent{--_color: var(--eui-c-s-accent);--_basic-color: var(--eui-c-s-accent);--_bg-color: var(--eui-c-s-accent-surface);--_on-bg-color: var(--eui-c-s-accent-surface-contrast);--_border-color: var(--eui-c-s-accent-surface-hover);--_outline-border-color: var(--eui-c-s-accent-surface-hover);--_hover-color: var(--eui-c-s-accent-surface-hover);--_on-hover-color: var(--eui-c-s-accent-surface-hover-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-s-accent-surface-light);--_on-basic-hover-color: var(--eui-c-s-accent);--_outline-color: var(--eui-c-s-accent);--_outline-bg-color: var(--eui-c-white);--_outline-hover-color: var(--eui-c-s-accent-surface-light);--_on-outline-hover-color: var(--eui-c-s-accent)}.eui-19 :host.eui-button{align-items:center;background-image:none;border:var(--eui-bw-none);border-radius:var(--eui-br-m);box-sizing:border-box;cursor:pointer;display:inline-flex;flex-shrink:0;justify-content:center;outline:none;text-transform:none;transition:none;vertical-align:middle;white-space:nowrap;font:var(--_font-m);padding:calc(var(--eui-s-xs) - 1px) calc(var(--eui-s-m) - 1px)}.eui-19 :host.eui-button:focus-visible:not([readonly]){outline:var(--eui-bw-s) solid var(--eui-c-s-primary-border)!important;outline-offset:1px!important;border-radius:var(--eui-br-s)!important}.eui-19 :host.eui-button .eui-button__container{align-items:center;display:inline-flex;position:relative;gap:var(--eui-s-xs);justify-content:center;width:100%}.eui-19 :host.eui-button[hidden]{display:none}.eui-19 :host.eui-button{background-color:var(--_bg-color);color:var(--_on-bg-color);border:var(--eui-bw-xs) solid var(--_border-color)}.eui-19 :host.eui-button ::ng-deep .eui-label{color:var(--_on-bg-color)}.eui-19 :host.eui-button ::ng-deep .eui-icon-svg svg{fill:var(--_on-bg-color);color:var(--_on-bg-color)}.eui-19 :host.eui-button:hover,.eui-19 :host.eui-button:focus{background-color:var(--_hover-color);color:var(--_on-hover-color)}.eui-19 :host.eui-button:hover ::ng-deep .eui-label,.eui-19 :host.eui-button:focus ::ng-deep .eui-label{color:var(--_on-bg-color)}.eui-19 :host.eui-button:hover ::ng-deep .eui-icon-svg svg,.eui-19 :host.eui-button:focus ::ng-deep .eui-icon-svg svg{fill:var(--_on-bg-color);color:var(--_on-bg-color)}.eui-19 :host.eui-button.eui-button--basic{border:var(--eui-bw-none);box-shadow:none;background-color:var(--_basic-bg-color);color:var(--_basic-color)}.eui-19 :host.eui-button.eui-button--basic ::ng-deep .eui-label{color:var(--_color)}.eui-19 :host.eui-button.eui-button--basic ::ng-deep .eui-icon-svg svg{fill:var(--_basic-color);color:var(--_basic-color)}.eui-19 :host.eui-button.eui-button--outline{background-color:var(--_outline-bg-color);color:var(--_outline-color);border:var(--eui-bw-xs) solid var(--_outline-border-color)}.eui-19 :host.eui-button.eui-button--outline ::ng-deep .eui-label{color:var(--_outline-color)}.eui-19 :host.eui-button.eui-button--outline ::ng-deep .eui-icon-svg svg{fill:var(--_outline-color);color:var(--_outline-color)}.eui-19 :host.eui-button.eui-button--basic:hover,.eui-19 :host.eui-button.eui-button--basic:focus{background-color:var(--_basic-hover-color);color:var(--_on-basic-hover-color)}.eui-19 :host.eui-button.eui-button--basic:hover ::ng-deep .eui-label,.eui-19 :host.eui-button.eui-button--basic:focus ::ng-deep .eui-label{color:var(--_on-basic-hover-color)}.eui-19 :host.eui-button.eui-button--basic:hover ::ng-deep .eui-icon-svg svg,.eui-19 :host.eui-button.eui-button--basic:focus ::ng-deep .eui-icon-svg svg{fill:var(--_on-basic-hover-color);color:var(--_on-basic-hover-color)}.eui-19 :host.eui-button.eui-button--outline:hover,.eui-19 :host.eui-button.eui-button--outline:focus{background-color:var(--_outline-hover-color);color:var(--_on-outline-hover-color)}.eui-19 :host.eui-button.eui-button--outline:hover ::ng-deep .eui-label,.eui-19 :host.eui-button.eui-button--outline:focus ::ng-deep .eui-label{color:var(--_on-outline-hover-color)}.eui-19 :host.eui-button.eui-button--outline:hover ::ng-deep .eui-icon-svg svg,.eui-19 :host.eui-button.eui-button--outline:focus ::ng-deep .eui-icon-svg svg{fill:var(--_on-outline-hover-color);color:var(--_on-outline-hover-color)}.eui-19 :host.eui-button--icon-only{padding:inherit var(--eui-s-2xs);min-height:var(--eui-s-3xl);min-width:var(--eui-s-3xl)}.eui-19 :host.eui-button--size-s{font:var(--_font-s);min-height:calc(var(--eui-s-2xl) + var(--eui-s-2xs));min-width:calc(var(--eui-s-2xl) + var(--eui-s-2xs));padding:0 var(--eui-s-xs)}.eui-19 :host.eui-button--size-s ::ng-deep .eui-icon-svg svg{height:var(--eui-is-s);width:var(--eui-is-s)}.eui-19 :host.eui-button.eui-button--size-s.eui-button--icon-only{padding:calc(var(--eui-s-xs) - 2px) calc(var(--eui-s-xs) - 2px)}.eui-19 :host.eui-button--size-m{font:var(--_font-m)}.eui-19 :host.eui-button--size-l{font:var(--_font-l);min-height:calc(var(--eui-s-3xl) + var(--eui-s-2xs));min-width:calc(var(--eui-s-3xl) + var(--eui-s-2xs));padding:0 var(--eui-s-xs)}.eui-19 :host.eui-button--size-l ::ng-deep .eui-icon-svg svg{height:var(--eui-is-m);width:var(--eui-is-m)}.eui-19 :host.eui-button--rounded{border-radius:var(--eui-br-max)}.eui-19 :host.eui-button--rounded:focus-visible:not([readonly]){outline:var(--eui-bw-s) solid var(--eui-c-s-primary-border)!important;outline-offset:1px!important;border-radius:var(--eui-br-max)!important}.eui-19 :host.eui-button.eui-button--basic:focus-visible:not([readonly]){outline:var(--eui-bw-s) solid var(--eui-c-s-primary-border)!important;outline-offset:-2px!important;border-radius:var(--eui-br-s)!important}.eui-19 :host.eui-button.eui-button--basic.eui-button--rounded:focus-visible:not([readonly]){outline:var(--eui-bw-s) solid var(--eui-c-s-primary-border)!important;outline-offset:-2px!important;border-radius:var(--eui-br-max)!important}.eui-19 :host.eui-button.eui-button--basic.eui-button--rounded.eui-button--avatar:focus-visible:not([readonly]){outline:var(--eui-bw-s) solid var(--eui-c-s-primary-border)!important;outline-offset:1px!important;border-radius:var(--eui-br-max)!important}.eui-19 :host.eui-button--responsive{display:grid!important;position:relative;width:100%}.eui-19 :host.eui-button--responsive .eui-button__container{overflow:hidden}.eui-19 :host.eui-button--responsive .eui-button__container>label,.eui-19 :host.eui-button--responsive .eui-button__container>.eui-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-19 :host.eui-button--block{width:100%}.eui-19 :host.eui-button--line-wrap{padding:var(--eui-s-s);white-space:normal}.eui-19 :host.eui-button--expand-toggle{background:var(--eui-c-surface-page);border-color:transparent;border-radius:0 0 var(--eui-s-xs) var(--eui-s-xs);min-height:var(--eui-s-m);padding:0 var(--eui-s-xl);box-shadow:var(--eui-sh-1)}.eui-19 :host.eui-button--expand-toggle:hover,.eui-19 :host.eui-button--expand-toggle:focus{box-shadow:var(--eui-sh-3)}.eui-19 :host.eui-button--start .eui-button__container{justify-content:start}.eui-19 :host.eui-button--end .eui-button__container{justify-content:end}.eui-19 :host.eui-button.disabled,.eui-19 :host.eui-button:disabled{pointer-events:none;background-image:none;box-shadow:none;cursor:not-allowed!important;opacity:var(--eui-o-50)}.eui-19 :host.eui-button--compact{font:var(--eui-f-s-compact);min-height:calc(var(--eui-s-xl) + var(--eui-s-3xs));min-width:calc(var(--eui-s-xl) + var(--eui-s-3xs));padding:0 var(--eui-s-3xs)}.eui-19 :host.eui-button--no-focus-ring:focus:not([readonly]){outline:0!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiButtonComponent, decorators: [{
            type: Component,
            args: [{ selector: 'button[euiButton], a[euiButton]', changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [
                        {
                            directive: BaseStatesDirective,
                            inputs: [
                                'euiPrimary',
                                'euiBranding',
                                'euiSecondary',
                                'euiSuccess',
                                'euiInfo',
                                'euiWarning',
                                'euiDanger',
                                'euiAccent',
                                'euiInverse',
                                'euiVariant',
                                'euiSizeS',
                                'euiSizeM',
                                'euiSizeL',
                                'euiSizeVariant',
                                'euiOutline',
                                'euiRounded',
                                'euiResponsive',
                                'euiStart',
                                'euiEnd',
                            ],
                        },
                    ], template: "<span class=\"eui-button__container\">\n    <ng-content></ng-content>\n</span>\n", styles: [".eui-19.eui-t-ds2025 :host.eui-button{--_font-s: var(--eui-f-body-s-medium);--_font-m: var(--eui-f-body-m-medium);--_font-l: var(--eui-f-body-m-medium)}.eui-19 :host.eui-button{--_color: var(--eui-c-s-secondary);--_basic-color: var(--eui-c-s-secondary);--_bg-color: var(--eui-c-s-secondary-surface-light);--_on-bg-color: var(--eui-c-s-secondary-on-surface-light);--_border-color: var(--eui-c-s-secondary-border-light);--_outline-border-color: var(--eui-c-s-secondary-border-light);--_hover-color: var(--eui-c-s-secondary-surface-light-hover);--_on-hover-color: var(--eui-c-s-secondary);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-s-secondary-surface-light-hover);--_on-basic-hover-color: var(--eui-c-s-secondary);--_outline-color: var(--eui-c-s-secondary);--_outline-bg-color: var(--eui-c-white);--_outline-hover-color: var(--eui-c-s-secondary-surface-light-hover);--_on-outline-hover-color: var(--eui-c-s-secondary);--_font-s: var(--eui-f-m-compact);--_font-m: var(--eui-f-m);--_font-l: var(--eui-f-m)}.eui-19 :host.eui-button--branding{--_color: var(--eui-c-branding);--_bg-color: var(--eui-c-branding-bg-lighter);--_on-bg-color: var(--eui-c-branding);--_border-color: var(--eui-c-branding);--_outline-border-color: var(--eui-c-white);--_hover-color: var(--eui-c-white);--_on-hover-color: var(--eui-c-branding);--_basic-color: var(--eui-c-white);--_basic-bg-color: var(--eui-c-branding);--_basic-hover-color: var(--eui-c-branding-light);--_on-basic-hover-color: var(--eui-c-branding-light-contrast);--_outline-color: var(--eui-c-white);--_outline-bg-color: var(--eui-c-branding);--_outline-hover-color: var(--eui-c-branding-light);--_on-outline-hover-color: var(--eui-c-branding-light-contrast)}.eui-19 :host.eui-button--primary{--_color: var(--eui-c-s-primary);--_basic-color: var(--eui-c-s-primary);--_bg-color: var(--eui-c-s-primary-surface);--_on-bg-color: var(--eui-c-s-primary-surface-contrast);--_border-color: var(--eui-c-s-primary);--_outline-border-color: var(--eui-c-s-primary);--_hover-color: var(--eui-c-s-primary-surface-hover);--_on-hover-color: var(--eui-c-s-primary-surface-hover-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-s-primary-surface-light);--_on-basic-hover-color: var(--eui-c-s-primary);--_outline-color: var(--eui-c-s-primary);--_outline-bg-color: var(--eui-c-white);--_outline-hover-color: var(--eui-c-s-primary-surface-light);--_on-outline-hover-color: var(--eui-c-s-primary)}.eui-19 :host.eui-button--cta{--_color: var(--eui-c-s-cta);--_basic-color: var(--eui-c-s-cta);--_bg-color: var(--eui-c-s-cta-surface);--_on-bg-color: var(--eui-c-s-cta-surface-contrast);--_border-color: transparent;--_outline-border-color: var(--eui-c-s-cta);--_hover-color: var(--eui-c-s-cta-surface-hover);--_on-hover-color: var(--eui-c-s-cta-surface-hover-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-s-cta-surface-light);--_on-basic-hover-color: var(--eui-c-s-cta);--_outline-color: var(--eui-c-s-cta);--_outline-bg-color: var(--eui-c-white);--_outline-hover-color: var(--eui-c-s-cta-surface-light);--_on-outline-hover-color: var(--eui-c-s-cta)}.eui-19 :host.eui-button--info{--_color: var(--eui-c-s-info);--_basic-color: var(--eui-c-s-info);--_bg-color: var(--eui-c-s-info-surface);--_on-bg-color: var(--eui-c-s-info-surface-contrast);--_border-color: var(--eui-c-s-info);--_outline-border-color: var(--eui-c-s-info);--_hover-color: var(--eui-c-s-info-surface-hover);--_on-hover-color: var(--eui-c-s-info-surface-hover-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-s-info-surface-light);--_on-basic-hover-color: var(--eui-c-s-info);--_outline-color: var(--eui-c-s-info);--_outline-bg-color: var(--eui-c-white);--_outline-hover-color: var(--eui-c-s-info-surface-light);--_on-outline-hover-color: var(--eui-c-s-info)}.eui-19 :host.eui-button--success{--_color: var(--eui-c-s-success);--_basic-color: var(--eui-c-s-success);--_bg-color: var(--eui-c-s-success-surface);--_on-bg-color: var(--eui-c-s-success-surface-contrast);--_border-color: var(--eui-c-s-success);--_outline-border-color: var(--eui-c-s-success);--_hover-color: var(--eui-c-s-success-surface-hover);--_on-hover-color: var(--eui-c-s-success-surface-hover-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-s-success-surface-light);--_on-basic-hover-color: var(--eui-c-s-success);--_outline-color: var(--eui-c-s-success);--_outline-bg-color: var(--eui-c-white);--_outline-hover-color: var(--eui-c-s-success-surface-light);--_on-outline-hover-color: var(--eui-c-s-success)}.eui-19 :host.eui-button--warning{--_color: var(--eui-c-s-warning);--_basic-color: var(--eui-c-s-warning);--_bg-color: var(--eui-c-s-warning-surface);--_on-bg-color: var(--eui-c-s-warning-surface-contrast);--_border-color: var(--eui-c-s-warning);--_outline-border-color: var(--eui-c-s-warning);--_hover-color: var(--eui-c-s-warning-surface-hover);--_on-hover-color: var(--eui-c-s-warning-surface-hover-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-s-warning-surface-light);--_on-basic-hover-color: var(--eui-c-s-warning);--_outline-color: var(--eui-c-s-warning);--_outline-bg-color: var(--eui-c-white);--_outline-hover-color: var(--eui-c-s-warning-surface-light);--_on-outline-hover-color: var(--eui-c-s-warning)}.eui-19 :host.eui-button--danger{--_color: var(--eui-c-s-danger);--_basic-color: var(--eui-c-s-danger);--_bg-color: var(--eui-c-s-danger-surface);--_on-bg-color: var(--eui-c-s-danger-surface-contrast);--_border-color: var(--eui-c-s-danger);--_outline-border-color: var(--eui-c-s-danger);--_hover-color: var(--eui-c-s-danger-surface-hover);--_on-hover-color: var(--eui-c-s-danger-surface-hover-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-s-danger-surface-light);--_on-basic-hover-color: var(--eui-c-s-danger);--_outline-color: var(--eui-c-s-danger);--_outline-bg-color: var(--eui-c-white);--_outline-hover-color: var(--eui-c-s-danger-surface-light);--_on-outline-hover-color: var(--eui-c-s-danger)}.eui-19 :host.eui-button--accent{--_color: var(--eui-c-s-accent);--_basic-color: var(--eui-c-s-accent);--_bg-color: var(--eui-c-s-accent-surface);--_on-bg-color: var(--eui-c-s-accent-surface-contrast);--_border-color: var(--eui-c-s-accent-surface-hover);--_outline-border-color: var(--eui-c-s-accent-surface-hover);--_hover-color: var(--eui-c-s-accent-surface-hover);--_on-hover-color: var(--eui-c-s-accent-surface-hover-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-s-accent-surface-light);--_on-basic-hover-color: var(--eui-c-s-accent);--_outline-color: var(--eui-c-s-accent);--_outline-bg-color: var(--eui-c-white);--_outline-hover-color: var(--eui-c-s-accent-surface-light);--_on-outline-hover-color: var(--eui-c-s-accent)}.eui-19 :host.eui-button{align-items:center;background-image:none;border:var(--eui-bw-none);border-radius:var(--eui-br-m);box-sizing:border-box;cursor:pointer;display:inline-flex;flex-shrink:0;justify-content:center;outline:none;text-transform:none;transition:none;vertical-align:middle;white-space:nowrap;font:var(--_font-m);padding:calc(var(--eui-s-xs) - 1px) calc(var(--eui-s-m) - 1px)}.eui-19 :host.eui-button:focus-visible:not([readonly]){outline:var(--eui-bw-s) solid var(--eui-c-s-primary-border)!important;outline-offset:1px!important;border-radius:var(--eui-br-s)!important}.eui-19 :host.eui-button .eui-button__container{align-items:center;display:inline-flex;position:relative;gap:var(--eui-s-xs);justify-content:center;width:100%}.eui-19 :host.eui-button[hidden]{display:none}.eui-19 :host.eui-button{background-color:var(--_bg-color);color:var(--_on-bg-color);border:var(--eui-bw-xs) solid var(--_border-color)}.eui-19 :host.eui-button ::ng-deep .eui-label{color:var(--_on-bg-color)}.eui-19 :host.eui-button ::ng-deep .eui-icon-svg svg{fill:var(--_on-bg-color);color:var(--_on-bg-color)}.eui-19 :host.eui-button:hover,.eui-19 :host.eui-button:focus{background-color:var(--_hover-color);color:var(--_on-hover-color)}.eui-19 :host.eui-button:hover ::ng-deep .eui-label,.eui-19 :host.eui-button:focus ::ng-deep .eui-label{color:var(--_on-bg-color)}.eui-19 :host.eui-button:hover ::ng-deep .eui-icon-svg svg,.eui-19 :host.eui-button:focus ::ng-deep .eui-icon-svg svg{fill:var(--_on-bg-color);color:var(--_on-bg-color)}.eui-19 :host.eui-button.eui-button--basic{border:var(--eui-bw-none);box-shadow:none;background-color:var(--_basic-bg-color);color:var(--_basic-color)}.eui-19 :host.eui-button.eui-button--basic ::ng-deep .eui-label{color:var(--_color)}.eui-19 :host.eui-button.eui-button--basic ::ng-deep .eui-icon-svg svg{fill:var(--_basic-color);color:var(--_basic-color)}.eui-19 :host.eui-button.eui-button--outline{background-color:var(--_outline-bg-color);color:var(--_outline-color);border:var(--eui-bw-xs) solid var(--_outline-border-color)}.eui-19 :host.eui-button.eui-button--outline ::ng-deep .eui-label{color:var(--_outline-color)}.eui-19 :host.eui-button.eui-button--outline ::ng-deep .eui-icon-svg svg{fill:var(--_outline-color);color:var(--_outline-color)}.eui-19 :host.eui-button.eui-button--basic:hover,.eui-19 :host.eui-button.eui-button--basic:focus{background-color:var(--_basic-hover-color);color:var(--_on-basic-hover-color)}.eui-19 :host.eui-button.eui-button--basic:hover ::ng-deep .eui-label,.eui-19 :host.eui-button.eui-button--basic:focus ::ng-deep .eui-label{color:var(--_on-basic-hover-color)}.eui-19 :host.eui-button.eui-button--basic:hover ::ng-deep .eui-icon-svg svg,.eui-19 :host.eui-button.eui-button--basic:focus ::ng-deep .eui-icon-svg svg{fill:var(--_on-basic-hover-color);color:var(--_on-basic-hover-color)}.eui-19 :host.eui-button.eui-button--outline:hover,.eui-19 :host.eui-button.eui-button--outline:focus{background-color:var(--_outline-hover-color);color:var(--_on-outline-hover-color)}.eui-19 :host.eui-button.eui-button--outline:hover ::ng-deep .eui-label,.eui-19 :host.eui-button.eui-button--outline:focus ::ng-deep .eui-label{color:var(--_on-outline-hover-color)}.eui-19 :host.eui-button.eui-button--outline:hover ::ng-deep .eui-icon-svg svg,.eui-19 :host.eui-button.eui-button--outline:focus ::ng-deep .eui-icon-svg svg{fill:var(--_on-outline-hover-color);color:var(--_on-outline-hover-color)}.eui-19 :host.eui-button--icon-only{padding:inherit var(--eui-s-2xs);min-height:var(--eui-s-3xl);min-width:var(--eui-s-3xl)}.eui-19 :host.eui-button--size-s{font:var(--_font-s);min-height:calc(var(--eui-s-2xl) + var(--eui-s-2xs));min-width:calc(var(--eui-s-2xl) + var(--eui-s-2xs));padding:0 var(--eui-s-xs)}.eui-19 :host.eui-button--size-s ::ng-deep .eui-icon-svg svg{height:var(--eui-is-s);width:var(--eui-is-s)}.eui-19 :host.eui-button.eui-button--size-s.eui-button--icon-only{padding:calc(var(--eui-s-xs) - 2px) calc(var(--eui-s-xs) - 2px)}.eui-19 :host.eui-button--size-m{font:var(--_font-m)}.eui-19 :host.eui-button--size-l{font:var(--_font-l);min-height:calc(var(--eui-s-3xl) + var(--eui-s-2xs));min-width:calc(var(--eui-s-3xl) + var(--eui-s-2xs));padding:0 var(--eui-s-xs)}.eui-19 :host.eui-button--size-l ::ng-deep .eui-icon-svg svg{height:var(--eui-is-m);width:var(--eui-is-m)}.eui-19 :host.eui-button--rounded{border-radius:var(--eui-br-max)}.eui-19 :host.eui-button--rounded:focus-visible:not([readonly]){outline:var(--eui-bw-s) solid var(--eui-c-s-primary-border)!important;outline-offset:1px!important;border-radius:var(--eui-br-max)!important}.eui-19 :host.eui-button.eui-button--basic:focus-visible:not([readonly]){outline:var(--eui-bw-s) solid var(--eui-c-s-primary-border)!important;outline-offset:-2px!important;border-radius:var(--eui-br-s)!important}.eui-19 :host.eui-button.eui-button--basic.eui-button--rounded:focus-visible:not([readonly]){outline:var(--eui-bw-s) solid var(--eui-c-s-primary-border)!important;outline-offset:-2px!important;border-radius:var(--eui-br-max)!important}.eui-19 :host.eui-button.eui-button--basic.eui-button--rounded.eui-button--avatar:focus-visible:not([readonly]){outline:var(--eui-bw-s) solid var(--eui-c-s-primary-border)!important;outline-offset:1px!important;border-radius:var(--eui-br-max)!important}.eui-19 :host.eui-button--responsive{display:grid!important;position:relative;width:100%}.eui-19 :host.eui-button--responsive .eui-button__container{overflow:hidden}.eui-19 :host.eui-button--responsive .eui-button__container>label,.eui-19 :host.eui-button--responsive .eui-button__container>.eui-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-19 :host.eui-button--block{width:100%}.eui-19 :host.eui-button--line-wrap{padding:var(--eui-s-s);white-space:normal}.eui-19 :host.eui-button--expand-toggle{background:var(--eui-c-surface-page);border-color:transparent;border-radius:0 0 var(--eui-s-xs) var(--eui-s-xs);min-height:var(--eui-s-m);padding:0 var(--eui-s-xl);box-shadow:var(--eui-sh-1)}.eui-19 :host.eui-button--expand-toggle:hover,.eui-19 :host.eui-button--expand-toggle:focus{box-shadow:var(--eui-sh-3)}.eui-19 :host.eui-button--start .eui-button__container{justify-content:start}.eui-19 :host.eui-button--end .eui-button__container{justify-content:end}.eui-19 :host.eui-button.disabled,.eui-19 :host.eui-button:disabled{pointer-events:none;background-image:none;box-shadow:none;cursor:not-allowed!important;opacity:var(--eui-o-50)}.eui-19 :host.eui-button--compact{font:var(--eui-f-s-compact);min-height:calc(var(--eui-s-xl) + var(--eui-s-3xs));min-width:calc(var(--eui-s-xl) + var(--eui-s-3xs));padding:0 var(--eui-s-3xs)}.eui-19 :host.eui-button--no-focus-ring:focus:not([readonly]){outline:0!important}\n"] }]
        }], propDecorators: { cssClasses: [{
                type: HostBinding,
                args: ['class']
            }], e2eAttr: [{
                type: HostBinding,
                args: ['attr.data-e2e']
            }, {
                type: Input
            }], id: [{
                type: HostBinding,
                args: ['attr.id']
            }, {
                type: Input
            }], euiBasicButton: [{
                type: Input,
                args: [{ transform: booleanAttribute }]
            }], euiButtonCall: [{
                type: Input,
                args: [{ transform: booleanAttribute }]
            }], euiCTAButton: [{
                type: Input,
                args: [{ transform: booleanAttribute }]
            }], euiBlockButton: [{
                type: Input,
                args: [{ transform: booleanAttribute }]
            }], euiIconButton: [{
                type: Input,
                args: [{ transform: booleanAttribute }]
            }], euiAvatarButton: [{
                type: Input,
                args: [{ transform: booleanAttribute }]
            }], euiLineWrap: [{
                type: Input,
                args: [{ transform: booleanAttribute }]
            }], isCompact: [{
                type: Input,
                args: [{ transform: booleanAttribute }]
            }], hasNoFocusRing: [{
                type: Input,
                args: [{ transform: booleanAttribute }]
            }], isChecked: [{
                type: Input
            }], euiDisabled: [{
                type: Input
            }], buttonClick: [{
                type: Output
            }], onClick: [{
                type: HostListener,
                args: ['click']
            }] } });
/**
 * @description
 * Module that provides the EuiButton component.
 *
 * @deprecated Use {@link EUI_BUTTON} instead
 */
class EuiButtonModule {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
    static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.17", ngImport: i0, type: EuiButtonModule, imports: [EuiButtonComponent], exports: [EuiButtonComponent] }); }
    static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiButtonModule }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiButtonModule, decorators: [{
            type: NgModule,
            args: [{
                    imports: [EuiButtonComponent],
                    exports: [EuiButtonComponent],
                }]
        }] });

const EUI_BUTTON = [
    EuiButtonComponent,
];
// export { EuiButtonComponent as EuiButton } from './eui-button.component';

/**
 * Generated bundle index. Do not edit.
 */

export { EUI_BUTTON, EuiButtonComponent, EuiButtonModule };
//# sourceMappingURL=eui-components-eui-button.mjs.map
