import * as i0 from '@angular/core';
import { HostBinding, ChangeDetectionStrategy, Component } from '@angular/core';

/**
 * @description
 * The EuiSplitButtonComponent is a wrapper for a button and a dropdown.
 * It is used to create a split button with various styles and functionalities.
 *
 * @usageNotes
 * ### Basic Usage
 * ```html
 * <eui-split-button>
 *   <eui-button euiPrimary (click)="primaryAction()">
 *     Save
 *   </eui-button>
 *   <eui-dropdown>
 *     <eui-dropdown-item (click)="saveAndClose()">Save & Close</eui-dropdown-item>
 *     <eui-dropdown-item (click)="saveAsDraft()">Save as Draft</eui-dropdown-item>
 *   </eui-dropdown>
 * </eui-split-button>
 * ```
 *
 * ### Accessibility
 * - Ensure primary button has clear, action-oriented label
 * - Dropdown items should have descriptive text
 * - Keyboard navigation works for both button and dropdown
 *
 * ### Notes
 * - Combines a primary action button with a dropdown menu of related actions
 * - Primary button executes the most common action
 * - Dropdown provides alternative or related actions
 */
class EuiSplitButtonComponent {
    get cssClasses() {
        return 'eui-split-button';
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: EuiSplitButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: EuiSplitButtonComponent, isStandalone: true, selector: "eui-split-button", host: { properties: { "class": "this.cssClasses" } }, ngImport: i0, template: "<ng-content select=\"button\" />\n<ng-content select=\"eui-dropdown\" />\n", styles: [".eui-21 :host.eui-split-button{align-items:center;display:inline-flex;position:relative}.eui-21 :host.eui-split-button ::ng-deep button{border-radius:var(--eui-br-s) 0 0 var(--eui-br-s);cursor:pointer}.eui-21 :host.eui-split-button ::ng-deep button:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-21 :host.eui-split-button ::ng-deep button:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-21 :host.eui-split-button ::ng-deep button [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-21 :host.eui-split-button ::ng-deep .eui-dropdown:before{content:\"\";position:absolute;border:1px solid var(--eui-c-divider);top:25%;height:50%;margin-left:-1px}.eui-21 :host.eui-split-button ::ng-deep .eui-dropdown button{border-radius:0 var(--eui-br-s) var(--eui-br-s) 0;border-left:0;width:var(--eui-s-7xl);margin-left:-1px}.eui-21 :host.eui-split-button--disabled,.eui-21 :host.eui-split-button:disabled{pointer-events:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: EuiSplitButtonComponent, decorators: [{
            type: Component,
            args: [{ selector: 'eui-split-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"button\" />\n<ng-content select=\"eui-dropdown\" />\n", styles: [".eui-21 :host.eui-split-button{align-items:center;display:inline-flex;position:relative}.eui-21 :host.eui-split-button ::ng-deep button{border-radius:var(--eui-br-s) 0 0 var(--eui-br-s);cursor:pointer}.eui-21 :host.eui-split-button ::ng-deep button:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-21 :host.eui-split-button ::ng-deep button:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-21 :host.eui-split-button ::ng-deep button [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-21 :host.eui-split-button ::ng-deep .eui-dropdown:before{content:\"\";position:absolute;border:1px solid var(--eui-c-divider);top:25%;height:50%;margin-left:-1px}.eui-21 :host.eui-split-button ::ng-deep .eui-dropdown button{border-radius:0 var(--eui-br-s) var(--eui-br-s) 0;border-left:0;width:var(--eui-s-7xl);margin-left:-1px}.eui-21 :host.eui-split-button--disabled,.eui-21 :host.eui-split-button:disabled{pointer-events:none}\n"] }]
        }], propDecorators: { cssClasses: [{
                type: HostBinding,
                args: ['class']
            }] } });

const EUI_SPLIT_BUTTON = [
    EuiSplitButtonComponent,
];
// export { EuiSplitButtonComponent as EuiSplitButton } from './eui-split-button.component';

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

export { EUI_SPLIT_BUTTON, EuiSplitButtonComponent };
//# sourceMappingURL=eui-components-eui-split-button.mjs.map
