{"version":3,"file":"eui-components-eui-chip-button.mjs","sources":["../../eui-chip-button/eui-chip-button.component.ts","../../eui-chip-button/eui-chip-button.component.html","../../eui-chip-button/index.ts","../../eui-chip-button/eui-components-eui-chip-button.ts"],"sourcesContent":["import {\n    Component,\n    HostBinding,\n    Input,\n    ChangeDetectionStrategy,\n    booleanAttribute,\n    inject,\n    Output,\n    EventEmitter,\n} from '@angular/core';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\nimport { EUI_ICON_BUTTON } from '@eui/components/eui-icon-button';\n\n/**\n * @description\n * Chip button component that provides clickable chip-styled buttons for triggering actions.\n * Similar to eui-chip but designed specifically for button interactions rather than display or removal.\n * Supports color variants, sizes, and filled/outline styles for various use cases.\n * Emits buttonClick event when clicked, making it ideal for filters, toggles, and action triggers.\n * \n * @usageNotes\n * #### Basic chip button\n * ```html\n * <eui-chip-button (buttonClick)=\"onChipClick($event)\">\n *   Click me\n * </eui-chip-button>\n * ```\n *\n * #### Chip buttons with variants\n * ```html\n * <eui-chip-button euiPrimary [isFilled]=\"true\">\n *   Primary\n * </eui-chip-button>\n * <eui-chip-button euiSuccess>\n *   Success\n * </eui-chip-button>\n * ```\n *\n * #### Filter chips\n * ```html\n * <eui-chip-button \n *   id=\"filter-active\" \n *   [isFilled]=\"isActive\"\n *   (buttonClick)=\"toggleFilter($event)\">\n *   Active\n * </eui-chip-button>\n * ```\n *\n * #### With tooltip\n * ```html\n * <eui-chip-button \n *   euiTooltip=\"Click to apply filter\"\n *   tooltipMessage=\"Filter by category\">\n *   Category\n * </eui-chip-button>\n * ```\n *\n * #### Size variants\n * ```html\n * <eui-chip-button euiSizeS>Small</eui-chip-button>\n * <eui-chip-button>Default</eui-chip-button>\n * ```\n *\n * ```ts\n * onChipClick(id: string | number): void {\n *   console.log('Chip button clicked:', id);\n * }\n *\n * toggleFilter(id: string | number): void {\n *   this.isActive = !this.isActive;\n * }\n * ```\n *\n * ### Accessibility\n * - Native button semantics for keyboard accessibility (Enter/Space)\n * - Focus visible by default for keyboard navigation\n * - Disabled state prevents interaction and is announced to screen readers\n * - Color variants provide visual meaning supplemented by text labels\n * - tooltipMessage provides additional context on hover\n * - Ensure descriptive labels for screen reader users\n *\n * ### Notes\n * - Can be used as element (eui-chip-button) or attribute (span[euiChipButton], li[euiChipButton])\n * - Color variants: euiPrimary, euiSecondary, euiSuccess, euiInfo, euiWarning, euiDanger\n * - Size variants: euiSizeS, default (medium)\n * - isFilled applies solid background color instead of outline\n * - euiOutline applies outline/ghost styling\n * - euiDisabled disables button interaction\n * - buttonClick event emits the chip's id when clicked\n * - id property used for identification in click events\n * - euiInternalId for internal tracking purposes\n * - tooltipMessage displays tooltip on hover\n * - Different from eui-chip: designed for actions, not display/removal\n * - Commonly used for filters, category selection, and toggleable options\n * - Does not support removal functionality (use eui-chip with isChipRemovable instead)\n */\n@Component({\n    templateUrl: './eui-chip-button.component.html',\n    selector: 'eui-chip-button, span[euiChipButton], li[euiChipButton]',\n    styleUrl: './eui-chip-button.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [\n        ...EUI_ICON,\n        ...EUI_ICON_BUTTON,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiPrimary',\n                'euiSecondary',\n                'euiSuccess',\n                'euiInfo',\n                'euiWarning',\n                'euiDanger',\n                'euiVariant',\n                'euiSizeS',\n                'euiSizeVariant',\n                'euiOutline',\n                'euiDisabled',\n            ],\n        },\n    ],\n})\nexport class EuiChipButtonComponent {\n    /**\n     * @description\n     * Computes and returns the CSS classes for the component based on its current state.\n     *\n     * @returns {string} Space-separated string of CSS class names\n     */\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-chip-button'),\n            this.isFilled ? 'eui-chip-button--filled': '',\n        ].join(' ').trim();\n    }\n\n    /**\n     * Sets the `data-e2e` attribute for the host element.\n     *\n     * @default 'eui-chip-button'\n     */\n    @HostBinding('attr.data-e2e')\n    @Input()\n    e2eAttr = 'eui-chip';\n\n    /**\n     * Sets the euiInternalId of the chip.\n     *\n     * @default null\n     */\n    @Input() euiInternalId: string = null;\n    /**\n     * Sets the label of the tooltip to diaply on hover.\n     */\n    @Input() tooltipMessage: string;\n    /**\n     * Sets the id of the chip.\n     */\n    @Input() id: string | number;\n\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    @Output() buttonClick = new EventEmitter<any>();\n\n    /**\n     * Wether the chip is filled with color.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isFilled = false;\n\n    baseStatesDirective = inject(BaseStatesDirective);\n\n    onClick(): void {\n        this.buttonClick.emit(this.id);\n    }\n}\n","<button class=\"eui-chip-button-wrapper\" (click)=\"onClick()\">\n    <div class=\"eui-chip-button__content-container\" #chipLabel>\n        <ng-content></ng-content>\n    </div>\n</button>\n","import { EuiChipButtonComponent } from './eui-chip-button.component';\n\nexport * from './eui-chip-button.component';\n\nexport const EUI_CHIP_BUTTON = [\n    EuiChipButtonComponent,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAgBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkFG;MA6BU,sBAAsB,CAAA;AA5BnC,IAAA,WAAA,GAAA;AA2CI;;;;AAIG;QAGH,IAAA,CAAA,OAAO,GAAG,UAAU;AAEpB;;;;AAIG;QACM,IAAA,CAAA,aAAa,GAAW,IAAI;;AAW3B,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAO;AAE/C;;;;AAIG;QACqC,IAAA,CAAA,QAAQ,GAAG,KAAK;AAExD,QAAA,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAKpD,IAAA;AArDG;;;;;AAKG;AACH,IAAA,IACI,UAAU,GAAA;QACV,OAAO;AACH,YAAA,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,iBAAiB,CAAC;YACzD,IAAI,CAAC,QAAQ,GAAG,yBAAyB,GAAE,EAAE;AAChD,SAAA,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IACtB;IAsCA,OAAO,GAAA;QACH,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAClC;8GArDS,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yDAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,aAAA,EAAA,eAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EA+CX,gBAAgB,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,cAAA,EAAA,YAAA,EAAA,YAAA,EAAA,SAAA,EAAA,SAAA,EAAA,YAAA,EAAA,YAAA,EAAA,WAAA,EAAA,WAAA,EAAA,YAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,YAAA,EAAA,aAAA,EAAA,aAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9KxC,iMAKA,EAAA,MAAA,EAAA,CAAA,w+LAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FD0Ha,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBA5BlC,SAAS;AAEI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,yDAAyD,EAAA,eAAA,EAElD,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC;AACL,wBAAA,GAAG,QAAQ;AACX,wBAAA,GAAG,eAAe;qBACrB,EAAA,cAAA,EACe;AACZ,wBAAA;AACI,4BAAA,SAAS,EAAE,mBAAmB;AAC9B,4BAAA,MAAM,EAAE;gCACJ,YAAY;gCACZ,cAAc;gCACd,YAAY;gCACZ,SAAS;gCACT,YAAY;gCACZ,WAAW;gCACX,YAAY;gCACZ,UAAU;gCACV,gBAAgB;gCAChB,YAAY;gCACZ,aAAa;AAChB,6BAAA;AACJ,yBAAA;AACJ,qBAAA,EAAA,QAAA,EAAA,iMAAA,EAAA,MAAA,EAAA,CAAA,w+LAAA,CAAA,EAAA;;sBASA,WAAW;uBAAC,OAAO;;sBAanB,WAAW;uBAAC,eAAe;;sBAC3B;;sBAQA;;sBAIA;;sBAIA;;sBAGA;;sBAOA,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;;AE1KnC,MAAM,eAAe,GAAG;IAC3B,sBAAsB;;;ACL1B;;AAEG;;;;"}