import * as i0 from '@angular/core';
import { HostBinding, ChangeDetectionStrategy, Component, EventEmitter, inject, booleanAttribute, Output, Input, forwardRef, ContentChild } from '@angular/core';
import * as i2 from '@angular/forms';
import { FormsModule } from '@angular/forms';
import * as i3 from '@eui/components/eui-input-checkbox';
import { EUI_INPUT_CHECKBOX } from '@eui/components/eui-input-checkbox';
import * as i1 from '@eui/components/shared';
import { BaseStatesDirective } from '@eui/components/shared';
import * as i1$1 from '@eui/components/eui-icon-toggle';
import { EUI_ICON_TOGGLE } from '@eui/components/eui-icon-toggle';
import { EUI_BUTTON } from '@eui/components/eui-button';
import * as i1$2 from '@eui/components/eui-icon-button-expander';
import { EUI_ICON_BUTTON_EXPANDER } from '@eui/components/eui-icon-button-expander';
import { NgTemplateOutlet } from '@angular/common';

/**
 * @description
 * The eui-content-card component projects the content for eui-card.
 */
class EuiContentCardBodyTopComponent {
    constructor() {
        /**
         * Binds the class to the component.
         *
         * @default 'eui-content-card-body-top'
         */
        this.string = 'eui-content-card-body-top';
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiContentCardBodyTopComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: EuiContentCardBodyTopComponent, isStandalone: true, selector: "eui-content-card-body-top", host: { properties: { "class": "this.string" } }, ngImport: i0, template: '<ng-content/>', isInline: true, styles: [".eui-19 .eui-content-card :host{display:flex;padding-top:var(--eui-s-s)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiContentCardBodyTopComponent, decorators: [{
            type: Component,
            args: [{ selector: 'eui-content-card-body-top', template: '<ng-content/>', changeDetection: ChangeDetectionStrategy.OnPush, styles: [".eui-19 .eui-content-card :host{display:flex;padding-top:var(--eui-s-s)}\n"] }]
        }], propDecorators: { string: [{
                type: HostBinding,
                args: ['class']
            }] } });

/**
 * @description
 * The eui-content-card component projects the content for eui-card.
 */
class EuiContentCardBodyComponent {
    constructor() {
        /**
         * Binds the class to the component.
         *
         * @default 'eui-content-card-body'
         */
        this.string = 'eui-content-card-body';
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiContentCardBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: EuiContentCardBodyComponent, isStandalone: true, selector: "eui-content-card-body", host: { properties: { "class": "this.string" } }, ngImport: i0, template: "<hr class=\"eui-u-hr\"/>\n\n<ng-content select=\"eui-content-card-body-top\" />\n\n<div class=\"eui-content-card-body-wrapper\">\n    <ng-content />\n</div>", styles: [".eui-19 .eui-content-card :host{display:flex;flex-direction:column;width:100%;padding-top:0}.eui-19 .eui-content-card :host .eui-content-card-body-wrapper{padding-top:var(--eui-s-s)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiContentCardBodyComponent, decorators: [{
            type: Component,
            args: [{ selector: 'eui-content-card-body', changeDetection: ChangeDetectionStrategy.OnPush, template: "<hr class=\"eui-u-hr\"/>\n\n<ng-content select=\"eui-content-card-body-top\" />\n\n<div class=\"eui-content-card-body-wrapper\">\n    <ng-content />\n</div>", styles: [".eui-19 .eui-content-card :host{display:flex;flex-direction:column;width:100%;padding-top:0}.eui-19 .eui-content-card :host .eui-content-card-body-wrapper{padding-top:var(--eui-s-s)}\n"] }]
        }], propDecorators: { string: [{
                type: HostBinding,
                args: ['class']
            }] } });

/**
 * @description
 * The eui-content-card component projects the content for eui-card.
 */
class EuiContentCardFooterComponent {
    constructor() {
        /**
         * Binds the class to the component.
         *
         * @default 'eui-content-card-footer'
         */
        this.string = 'eui-content-card-footer';
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiContentCardFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: EuiContentCardFooterComponent, isStandalone: true, selector: "eui-content-card-footer", host: { properties: { "class": "this.string" } }, ngImport: i0, template: '<ng-content/>', isInline: true, styles: [".eui-19 .eui-content-card :host{display:flex;border-top:1px solid var(--eui-c-divider);padding:var(--eui-s-s) var(--eui-s-m) var(--eui-s-m) var(--eui-s-m)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiContentCardFooterComponent, decorators: [{
            type: Component,
            args: [{ selector: 'eui-content-card-footer', template: '<ng-content/>', changeDetection: ChangeDetectionStrategy.OnPush, styles: [".eui-19 .eui-content-card :host{display:flex;border-top:1px solid var(--eui-c-divider);padding:var(--eui-s-s) var(--eui-s-m) var(--eui-s-m) var(--eui-s-m)}\n"] }]
        }], propDecorators: { string: [{
                type: HostBinding,
                args: ['class']
            }] } });

/**
 * @description
 * The eui-content-card component projects the content for eui-card.
 */
class EuiContentCardHeaderStartComponent {
    constructor() {
        /**
         * Binds the class to the component.
         *
         * @default 'eui-content-card-header-start'
         */
        this.string = 'eui-content-card-header-start';
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiContentCardHeaderStartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: EuiContentCardHeaderStartComponent, isStandalone: true, selector: "eui-content-card-header-start", host: { properties: { "class": "this.string" } }, ngImport: i0, template: '<ng-content/>', isInline: true, styles: [".eui-19 .eui-content-card :host{display:flex}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiContentCardHeaderStartComponent, decorators: [{
            type: Component,
            args: [{ selector: 'eui-content-card-header-start', template: '<ng-content/>', changeDetection: ChangeDetectionStrategy.OnPush, styles: [".eui-19 .eui-content-card :host{display:flex}\n"] }]
        }], propDecorators: { string: [{
                type: HostBinding,
                args: ['class']
            }] } });

/**
 * @description
 * The eui-card component is based on Material Design and provides a content container for text, photos and actions in the context of a single subject.
 */
class EuiContentCardComponent {
    constructor() {
        /**
         * Sets the `data-e2e` attribute at the host element.
         *
         * @default 'eui-card'
         */
        this.e2eAttr = 'eui-content-card';
        /**
         * Sets the `isSelected` attribute in order to show the card header as selected.
         *
         * @default false
         */
        this.isSelected = false;
        /**
         * Sets the `isSelectable` attribute in order to show the card header checkbox for selection
         *
         * @default false
         */
        this.isSelectable = false;
        /**
         * Sets the `isCollapsible` attribute which shows the collapsible toggle in the header.
         *
         * @default false
         */
        this.isCollapsible = false;
        /**
         * Sets the `isCollapsed` attribute which collapses the card content.
         *
         * @default false
         */
        this.isCollapsed = false;
        /**
         * Sets the `isBookmarkable` attribute which is adding a bookmark toggle to the card header end-block.
         *
         * @default false
         */
        this.isBookmarkable = false;
        /**
         * Sets the `isBookmarkable` attribute which is adding a bookmark toggle to the card header end-block.
         *
         * @default false
         */
        this.isBookmarked = false;
        /**
         * Event emitted when the card is selected.
         */
        this.cardSelect = new EventEmitter();
        /**
         * Event emitted when the card is bookmarked.
         */
        this.cardBookmark = new EventEmitter();
        /**
         * Event emitted when the card is bookmarked.
         */
        this.cardCollapse = new EventEmitter();
        this.baseStatesDirective = inject(BaseStatesDirective);
    }
    /**
     * @description
     * Computes and returns the CSS classes for the component based on its current state.
     *
     * @returns {string} Space-separated string of CSS class names
     */
    get cssClasses() {
        return [
            this.baseStatesDirective.getCssClasses('eui-content-card'),
            this.isCollapsible ? 'eui-content-card--collapsible' : '',
            this.isCollapsed ? 'eui-content-card--collapsed' : '',
            this.isSelectable ? 'eui-content-card--selectable' : '',
            this.isSelected ? 'eui-content-card--selected' : '',
        ]
            .join(' ')
            .trim();
    }
    toggleCollapse() {
        this.isCollapsed = !this.isCollapsed;
        this.cardCollapse.emit(this.isCollapsed);
    }
    toggleBookmark() {
        this.isBookmarked = !this.isBookmarked;
        this.cardBookmark.emit(this.isBookmarked);
    }
    onSelect(event) {
        this.cardSelect.emit(this.isSelected);
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiContentCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.17", type: EuiContentCardComponent, isStandalone: true, selector: "eui-content-card", inputs: { e2eAttr: "e2eAttr", isSelected: ["isSelected", "isSelected", booleanAttribute], isSelectable: ["isSelectable", "isSelectable", booleanAttribute], isCollapsible: ["isCollapsible", "isCollapsible", booleanAttribute], isCollapsed: ["isCollapsed", "isCollapsed", booleanAttribute], isBookmarkable: ["isBookmarkable", "isBookmarkable", booleanAttribute], isBookmarked: ["isBookmarked", "isBookmarked", booleanAttribute] }, outputs: { cardSelect: "cardSelect", cardBookmark: "cardBookmark", cardCollapse: "cardCollapse" }, host: { properties: { "class": "this.cssClasses", "attr.data-e2e": "this.e2eAttr" } }, hostDirectives: [{ directive: i1.BaseStatesDirective }], ngImport: i0, template: "<div class=\"eui-content-card-wrapper\">\n    @if (isSelectable) {\n        <div class=\"eui-content-card-selectable-wrapper\">\n            <input euiInputCheckBox [(ngModel)]=\"isSelected\" (change)=\"onSelect($event)\"/>\n        </div>\n    }\n\n    <ng-content select=\"eui-content-card-media\"/>\n\n    <div class=\"eui-content-card-header-body-wrapper\">\n        <ng-content select=\"eui-content-card-header\"/>\n\n        <div class=\"eui-content-card-body-wrapper\">\n            <ng-content select=\"eui-content-card-body\"/>\n        </div>\n    </div>\n</div>\n\n<ng-content select=\"eui-content-card-footer\"/>\n", styles: [".eui-19.eui-t-ds2025 :host.eui-content-card{--_body-font: var(--eui-f-body-m-regular);--_title-font: var(--eui-f-body-l-semi-bold);--_subtitle-font: var(--eui-f-title-2xs-medium)}.eui-19 :host.eui-content-card{--_body-font: var(--eui-f-m);--_title-font: var(--eui-f-l);--_subtitle-font: var(--eui-f-m)}.eui-19 :host.eui-content-card{border:var(--eui-bw-xs) solid var(--eui-c-divider);background-color:var(--eui-c-surface-container);border-radius:var(--eui-br-m);box-shadow:var(--eui-sh-card);display:flex;flex-direction:column;height:auto;padding:0;position:relative;width:100%;font:var(--_content-font)}.eui-19 :host.eui-content-card .eui-content-card-wrapper{display:flex;flex-direction:row;padding:var(--eui-s-m);gap:var(--eui-s-m)}.eui-19 :host.eui-content-card .eui-content-card-wrapper .eui-content-card-selectable-wrapper ::ng-deep .eui-input-checkbox{margin-right:0}.eui-19 :host.eui-content-card .eui-content-card-wrapper .eui-content-card-header-body-wrapper{display:flex;flex-direction:column;width:100%}.eui-19 :host.eui-content-card .eui-content-card-wrapper .eui-content-card-body-wrapper{display:flex;width:100%}.eui-19 :host.eui-content-card.eui-content-card--selected{border-color:var(--eui-c-s-primary-border)}.eui-19 :host.eui-content-card.eui-content-card--collapsed .eui-content-card-body-wrapper{display:none!important}@media screen and (min-width: 768px) and (max-width: 995px){.eui-19 :host.eui-content-card .eui-content-card-wrapper{flex-direction:column}.eui-19 :host.eui-content-card .eui-content-card-selectable-wrapper{position:absolute;top:var(--eui-s-s);right:var(--eui-s-s)}}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.EuiInputCheckboxComponent, selector: "input[euiInputCheckBox]", inputs: ["indeterminate", "isInvalid", "checked"], outputs: ["indeterminateChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiContentCardComponent, decorators: [{
            type: Component,
            args: [{ selector: 'eui-content-card', changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [
                        {
                            directive: BaseStatesDirective,
                        },
                    ], imports: [
                        FormsModule,
                        ...EUI_INPUT_CHECKBOX,
                    ], template: "<div class=\"eui-content-card-wrapper\">\n    @if (isSelectable) {\n        <div class=\"eui-content-card-selectable-wrapper\">\n            <input euiInputCheckBox [(ngModel)]=\"isSelected\" (change)=\"onSelect($event)\"/>\n        </div>\n    }\n\n    <ng-content select=\"eui-content-card-media\"/>\n\n    <div class=\"eui-content-card-header-body-wrapper\">\n        <ng-content select=\"eui-content-card-header\"/>\n\n        <div class=\"eui-content-card-body-wrapper\">\n            <ng-content select=\"eui-content-card-body\"/>\n        </div>\n    </div>\n</div>\n\n<ng-content select=\"eui-content-card-footer\"/>\n", styles: [".eui-19.eui-t-ds2025 :host.eui-content-card{--_body-font: var(--eui-f-body-m-regular);--_title-font: var(--eui-f-body-l-semi-bold);--_subtitle-font: var(--eui-f-title-2xs-medium)}.eui-19 :host.eui-content-card{--_body-font: var(--eui-f-m);--_title-font: var(--eui-f-l);--_subtitle-font: var(--eui-f-m)}.eui-19 :host.eui-content-card{border:var(--eui-bw-xs) solid var(--eui-c-divider);background-color:var(--eui-c-surface-container);border-radius:var(--eui-br-m);box-shadow:var(--eui-sh-card);display:flex;flex-direction:column;height:auto;padding:0;position:relative;width:100%;font:var(--_content-font)}.eui-19 :host.eui-content-card .eui-content-card-wrapper{display:flex;flex-direction:row;padding:var(--eui-s-m);gap:var(--eui-s-m)}.eui-19 :host.eui-content-card .eui-content-card-wrapper .eui-content-card-selectable-wrapper ::ng-deep .eui-input-checkbox{margin-right:0}.eui-19 :host.eui-content-card .eui-content-card-wrapper .eui-content-card-header-body-wrapper{display:flex;flex-direction:column;width:100%}.eui-19 :host.eui-content-card .eui-content-card-wrapper .eui-content-card-body-wrapper{display:flex;width:100%}.eui-19 :host.eui-content-card.eui-content-card--selected{border-color:var(--eui-c-s-primary-border)}.eui-19 :host.eui-content-card.eui-content-card--collapsed .eui-content-card-body-wrapper{display:none!important}@media screen and (min-width: 768px) and (max-width: 995px){.eui-19 :host.eui-content-card .eui-content-card-wrapper{flex-direction:column}.eui-19 :host.eui-content-card .eui-content-card-selectable-wrapper{position:absolute;top:var(--eui-s-s);right:var(--eui-s-s)}}\n"] }]
        }], propDecorators: { cssClasses: [{
                type: HostBinding,
                args: ['class']
            }], e2eAttr: [{
                type: HostBinding,
                args: ['attr.data-e2e']
            }, {
                type: Input
            }], isSelected: [{
                type: Input,
                args: [{ transform: booleanAttribute }]
            }], isSelectable: [{
                type: Input,
                args: [{ transform: booleanAttribute }]
            }], isCollapsible: [{
                type: Input,
                args: [{ transform: booleanAttribute }]
            }], isCollapsed: [{
                type: Input,
                args: [{ transform: booleanAttribute }]
            }], isBookmarkable: [{
                type: Input,
                args: [{ transform: booleanAttribute }]
            }], isBookmarked: [{
                type: Input,
                args: [{ transform: booleanAttribute }]
            }], cardSelect: [{
                type: Output
            }], cardBookmark: [{
                type: Output
            }], cardCollapse: [{
                type: Output
            }] } });

/**
 * @description
 * The eui-content-card component projects the content for eui-card.
 */
class EuiContentCardHeaderEndComponent {
    constructor() {
        /**
         * Binds the class to the component.
         *
         * @default 'eui-content-card-header-end'
         */
        this.string = 'eui-content-card-header-end';
        this.euiContentCardParent = inject(forwardRef(() => EuiContentCardComponent), { optional: true, host: true });
    }
    onToggle(event) {
        this.euiContentCardParent.toggleBookmark();
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiContentCardHeaderEndComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.17", type: EuiContentCardHeaderEndComponent, isStandalone: true, selector: "eui-content-card-header-end", host: { properties: { "class": "this.string" } }, ngImport: i0, template: "<ng-content/>\n\n@if (euiContentCardParent.isBookmarkable) {\n    <div class=\"eui-content-card-header-end-bookmarkable-wrapper\">\n        <eui-icon-toggle\n            iconSvgFillColorOff=\"primary\" \n            iconSvgFillColorOn=\"primary\" \n            iconSvgNameOn=\"bookmark-simple:phosphor-fill\" \n            iconSvgNameOff=\"bookmark-simple:phosphor-light\"\n            [isChecked]=\"euiContentCardParent.isBookmarked\" \n            (toggle)=\"onToggle($event)\"/>\n    </div>\n}", styles: [".eui-19 .eui-content-card :host{display:flex;margin-left:auto;align-items:center}\n"], dependencies: [{ kind: "component", type: i1$1.EuiIconToggleComponent, selector: "eui-icon-toggle", inputs: ["keyboardAccessKey", "isChecked", "isReadOnly", "e2eAttr", "id", "tabindex", "ariaLabel", "iconSvgSize", "iconSvgNameOn", "iconSvgNameOff", "iconSvgFillColorOn", "iconSvgFillColorOff"], outputs: ["toggle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiContentCardHeaderEndComponent, decorators: [{
            type: Component,
            args: [{ selector: 'eui-content-card-header-end', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
                        ...EUI_ICON_TOGGLE,
                        ...EUI_BUTTON,
                    ], template: "<ng-content/>\n\n@if (euiContentCardParent.isBookmarkable) {\n    <div class=\"eui-content-card-header-end-bookmarkable-wrapper\">\n        <eui-icon-toggle\n            iconSvgFillColorOff=\"primary\" \n            iconSvgFillColorOn=\"primary\" \n            iconSvgNameOn=\"bookmark-simple:phosphor-fill\" \n            iconSvgNameOff=\"bookmark-simple:phosphor-light\"\n            [isChecked]=\"euiContentCardParent.isBookmarked\" \n            (toggle)=\"onToggle($event)\"/>\n    </div>\n}", styles: [".eui-19 .eui-content-card :host{display:flex;margin-left:auto;align-items:center}\n"] }]
        }], propDecorators: { string: [{
                type: HostBinding,
                args: ['class']
            }] } });

/**
 * @description
 * The eui-content-card component projects the content for eui-card.
 */
class EuiContentCardHeaderMetadataComponent {
    constructor() {
        /**
         * Binds the class to the component.
         *
         * @default 'eui-content-card-header-metadata'
         */
        this.string = 'eui-content-card-header-metadata';
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiContentCardHeaderMetadataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: EuiContentCardHeaderMetadataComponent, isStandalone: true, selector: "eui-content-card-header-metadata", host: { properties: { "class": "this.string" } }, ngImport: i0, template: '<ng-content/>', isInline: true, styles: [".eui-19 .eui-content-card :host{display:flex;width:100%;font:var(--eui-f-s);color:var(--eui-c-text-light);padding-top:var(--eui-s-2xs)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiContentCardHeaderMetadataComponent, decorators: [{
            type: Component,
            args: [{ selector: 'eui-content-card-header-metadata', template: '<ng-content/>', changeDetection: ChangeDetectionStrategy.OnPush, styles: [".eui-19 .eui-content-card :host{display:flex;width:100%;font:var(--eui-f-s);color:var(--eui-c-text-light);padding-top:var(--eui-s-2xs)}\n"] }]
        }], propDecorators: { string: [{
                type: HostBinding,
                args: ['class']
            }] } });

/**
 * @description
 * The eui-content-card component projects the content for eui-card.
 */
class EuiContentCardHeaderSubmetadataComponent {
    constructor() {
        /**
         * Binds the class to the component.
         *
         * @default 'eui-content-card-header-submetadata'
         */
        this.string = 'eui-card-header-content-submetadata';
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiContentCardHeaderSubmetadataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: EuiContentCardHeaderSubmetadataComponent, isStandalone: true, selector: "eui-content-card-header-submetadata", host: { properties: { "class": "this.string" } }, ngImport: i0, template: '<ng-content/>', isInline: true, styles: [".eui-19 .eui-content-card :host{display:flex;width:100%;font:var(--eui-f-s);color:var(--eui-c-text-light);padding-top:var(--eui-s-2xs)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiContentCardHeaderSubmetadataComponent, decorators: [{
            type: Component,
            args: [{ selector: 'eui-content-card-header-submetadata', template: '<ng-content/>', changeDetection: ChangeDetectionStrategy.OnPush, styles: [".eui-19 .eui-content-card :host{display:flex;width:100%;font:var(--eui-f-s);color:var(--eui-c-text-light);padding-top:var(--eui-s-2xs)}\n"] }]
        }], propDecorators: { string: [{
                type: HostBinding,
                args: ['class']
            }] } });

/**
 * @description
 * The eui-content-card component projects the content for eui-card.
 */
class EuiContentCardHeaderSubtitleComponent {
    constructor() {
        /**
         * Binds the class to the component.
         *
         * @default 'eui-content-card-header-subtitle'
         */
        this.string = 'eui-content-card-header-subtitle';
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiContentCardHeaderSubtitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: EuiContentCardHeaderSubtitleComponent, isStandalone: true, selector: "eui-content-card-header-subtitle", host: { properties: { "class": "this.string" } }, ngImport: i0, template: '<ng-content/>', isInline: true, styles: [".eui-19 .eui-content-card :host{display:flex;width:100%;font:var(--_subtitle-font);padding-top:var(--eui-s-2xs)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiContentCardHeaderSubtitleComponent, decorators: [{
            type: Component,
            args: [{ selector: 'eui-content-card-header-subtitle', template: '<ng-content/>', changeDetection: ChangeDetectionStrategy.OnPush, styles: [".eui-19 .eui-content-card :host{display:flex;width:100%;font:var(--_subtitle-font);padding-top:var(--eui-s-2xs)}\n"] }]
        }], propDecorators: { string: [{
                type: HostBinding,
                args: ['class']
            }] } });

/**
 * @description
 * The eui-content-card component projects the content for eui-card.
 */
class EuiContentCardHeaderTitleComponent {
    constructor() {
        /**
         * Binds the class to the component.
         *
         * @default 'eui-content-card-header-title'
         */
        this.string = 'eui-content-card-header-title';
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiContentCardHeaderTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: EuiContentCardHeaderTitleComponent, isStandalone: true, selector: "eui-content-card-header-title", host: { properties: { "class": "this.string" } }, ngImport: i0, template: '<ng-content/>', isInline: true, styles: [".eui-19 .eui-content-card :host{display:flex;width:100%}.eui-19 .eui-content-card :host ::ng-deep a{font:var(--_title-font);color:var(--eui-c-link);text-decoration:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiContentCardHeaderTitleComponent, decorators: [{
            type: Component,
            args: [{ selector: 'eui-content-card-header-title', template: '<ng-content/>', changeDetection: ChangeDetectionStrategy.OnPush, styles: [".eui-19 .eui-content-card :host{display:flex;width:100%}.eui-19 .eui-content-card :host ::ng-deep a{font:var(--_title-font);color:var(--eui-c-link);text-decoration:none}\n"] }]
        }], propDecorators: { string: [{
                type: HostBinding,
                args: ['class']
            }] } });

/**
 * @description
 * The eui-content-card component projects the content for eui-card.
 */
class EuiContentCardHeaderComponent {
    constructor() {
        /**
         * Binds the class to the component.
         *
         * @default 'eui-content-card-header'
         */
        this.string = 'eui-content-card-header';
        this.euiCardContentParent = inject(forwardRef(() => EuiContentCardComponent), { optional: true, host: true });
    }
    onToggle() {
        this.euiCardContentParent.toggleCollapse();
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiContentCardHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.17", type: EuiContentCardHeaderComponent, isStandalone: true, selector: "eui-content-card-header", host: { properties: { "class": "this.string" } }, queries: [{ propertyName: "headerStartComponent", first: true, predicate: i0.forwardRef(() => EuiContentCardHeaderStartComponent), descendants: true }], ngImport: i0, template: "@if (headerStartComponent) {\n    <div class=\"eui-content-card-header-top-wrapper\">\n        <ng-content select=\"eui-content-card-header-start\"/>\n\n        @if (euiCardContentParent?.isCollapsible) {\n            <ng-content *ngTemplateOutlet=\"expander\"/>\n        } @else {\n            <ng-content *ngTemplateOutlet=\"headerEnd\"/>\n        }\n    </div>\n    <ng-content *ngTemplateOutlet=\"headerTitle\"/>\n} @else {\n    <div class=\"eui-content-card-header-top-wrapper\">\n        <ng-content *ngTemplateOutlet=\"headerTitle\"/>\n        \n        @if (euiCardContentParent?.isCollapsible) {\n            <ng-content *ngTemplateOutlet=\"expander\"/>\n        } @else {\n            <ng-content *ngTemplateOutlet=\"headerEnd\"/>\n        }        \n    </div>\n}\n<ng-content select=\"eui-content-card-header-subtitle\"/>\n<ng-content select=\"eui-content-card-header-metadata\"/>\n<ng-content select=\"eui-content-card-header-submetadata\"/>\n\n\n<ng-template #headerEnd>\n    <ng-content select=\"eui-content-card-header-end\"/>\n</ng-template>\n<ng-template #headerTitle>\n    <ng-content select=\"eui-content-card-header-title\"/>\n</ng-template>\n<ng-template #expander>\n    <div class=\"eui-content-card-header-expander-wrapper\">\n        <eui-icon-button-expander [isExpanded]=\"!euiCardContentParent?.isCollapsed\" (buttonClick)=\"onToggle()\" fillColor=\"neutral\"/>\n    </div>\n</ng-template>", styles: [".eui-19 .eui-content-card :host.eui-content-card-header{display:flex;width:100%;flex-direction:column}.eui-19 .eui-content-card :host.eui-content-card-header .eui-content-card-header-top-wrapper{display:flex;align-items:center;width:100%}.eui-19 .eui-content-card :host.eui-content-card-header .eui-content-card-header-expander-wrapper{display:flex;margin-left:auto}@media screen and (min-width: 768px) and (max-width: 995px){.eui-19 .eui-content-card :host.eui-content-card-header .eui-content-card-expander-wrapper{position:absolute;top:var(--eui-s-s);right:var(--eui-s-s)}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1$2.EuiIconButtonExpanderComponent, selector: "eui-icon-button-expander", inputs: ["fillColor", "size", "ariaLabel", "isExpanded", "isDirectionForward", "euiDisabled"], outputs: ["buttonClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiContentCardHeaderComponent, decorators: [{
            type: Component,
            args: [{ selector: 'eui-content-card-header', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
                        NgTemplateOutlet,
                        ...EUI_ICON_BUTTON_EXPANDER,
                    ], template: "@if (headerStartComponent) {\n    <div class=\"eui-content-card-header-top-wrapper\">\n        <ng-content select=\"eui-content-card-header-start\"/>\n\n        @if (euiCardContentParent?.isCollapsible) {\n            <ng-content *ngTemplateOutlet=\"expander\"/>\n        } @else {\n            <ng-content *ngTemplateOutlet=\"headerEnd\"/>\n        }\n    </div>\n    <ng-content *ngTemplateOutlet=\"headerTitle\"/>\n} @else {\n    <div class=\"eui-content-card-header-top-wrapper\">\n        <ng-content *ngTemplateOutlet=\"headerTitle\"/>\n        \n        @if (euiCardContentParent?.isCollapsible) {\n            <ng-content *ngTemplateOutlet=\"expander\"/>\n        } @else {\n            <ng-content *ngTemplateOutlet=\"headerEnd\"/>\n        }        \n    </div>\n}\n<ng-content select=\"eui-content-card-header-subtitle\"/>\n<ng-content select=\"eui-content-card-header-metadata\"/>\n<ng-content select=\"eui-content-card-header-submetadata\"/>\n\n\n<ng-template #headerEnd>\n    <ng-content select=\"eui-content-card-header-end\"/>\n</ng-template>\n<ng-template #headerTitle>\n    <ng-content select=\"eui-content-card-header-title\"/>\n</ng-template>\n<ng-template #expander>\n    <div class=\"eui-content-card-header-expander-wrapper\">\n        <eui-icon-button-expander [isExpanded]=\"!euiCardContentParent?.isCollapsed\" (buttonClick)=\"onToggle()\" fillColor=\"neutral\"/>\n    </div>\n</ng-template>", styles: [".eui-19 .eui-content-card :host.eui-content-card-header{display:flex;width:100%;flex-direction:column}.eui-19 .eui-content-card :host.eui-content-card-header .eui-content-card-header-top-wrapper{display:flex;align-items:center;width:100%}.eui-19 .eui-content-card :host.eui-content-card-header .eui-content-card-header-expander-wrapper{display:flex;margin-left:auto}@media screen and (min-width: 768px) and (max-width: 995px){.eui-19 .eui-content-card :host.eui-content-card-header .eui-content-card-expander-wrapper{position:absolute;top:var(--eui-s-s);right:var(--eui-s-s)}}\n"] }]
        }], propDecorators: { string: [{
                type: HostBinding,
                args: ['class']
            }], headerStartComponent: [{
                type: ContentChild,
                args: [forwardRef(() => EuiContentCardHeaderStartComponent), { static: false }]
            }] } });

/**
 * @description
 * The eui-content-card component projects the content for eui-card.
 */
class EuiContentCardMediaComponent {
    constructor() {
        /**
         * Binds the class to the component.
         *
         * @default 'eui-content-card-media'
         */
        this.string = 'eui-content-card-media';
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiContentCardMediaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: EuiContentCardMediaComponent, isStandalone: true, selector: "eui-content-card-media", host: { properties: { "class": "this.string" } }, ngImport: i0, template: '<ng-content/>', isInline: true, styles: [".eui-19 .eui-content-card :host{display:flex;align-items:baseline}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiContentCardMediaComponent, decorators: [{
            type: Component,
            args: [{ selector: 'eui-content-card-media', template: '<ng-content/>', changeDetection: ChangeDetectionStrategy.OnPush, styles: [".eui-19 .eui-content-card :host{display:flex;align-items:baseline}\n"] }]
        }], propDecorators: { string: [{
                type: HostBinding,
                args: ['class']
            }] } });

const EUI_CONTENT_CARD = [
    EuiContentCardComponent,
    EuiContentCardBodyTopComponent,
    EuiContentCardBodyComponent,
    EuiContentCardFooterComponent,
    EuiContentCardHeaderComponent,
    EuiContentCardHeaderEndComponent,
    EuiContentCardHeaderMetadataComponent,
    EuiContentCardHeaderStartComponent,
    EuiContentCardHeaderSubmetadataComponent,
    EuiContentCardHeaderSubtitleComponent,
    EuiContentCardHeaderTitleComponent,
    EuiContentCardMediaComponent,
];

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

export { EUI_CONTENT_CARD, EuiContentCardBodyComponent, EuiContentCardBodyTopComponent, EuiContentCardComponent, EuiContentCardFooterComponent, EuiContentCardHeaderComponent, EuiContentCardHeaderEndComponent, EuiContentCardHeaderMetadataComponent, EuiContentCardHeaderStartComponent, EuiContentCardHeaderSubmetadataComponent, EuiContentCardHeaderSubtitleComponent, EuiContentCardHeaderTitleComponent, EuiContentCardMediaComponent };
//# sourceMappingURL=eui-components-eui-content-card.mjs.map
