{"version":3,"file":"eui-components-eui-section-header.mjs","sources":["../../eui-section-header/eui-section-header-action.ts","../../eui-section-header/eui-section-header-description.ts","../../eui-section-header/eui-section-header-icon.ts","../../eui-section-header/eui-section-header-title.ts","../../eui-section-header/eui-section-header.component.ts","../../eui-section-header/eui-section-header.component.html","../../eui-section-header/index.ts","../../eui-section-header/eui-components-eui-section-header.ts"],"sourcesContent":["import { Component, HostBinding } from '@angular/core';\n\n/**\n * @description\n * Action container for EuiSectionHeader that holds interactive elements like buttons or links.\n *\n * @usageNotes\n * ```html\n * <eui-section-header-action>\n *   <button euiButton>Action</button>\n * </eui-section-header-action>\n * ```\n */\n@Component({\n    selector: 'eui-section-header-action',\n    template: '<ng-content />',\n    styleUrl: './eui-section-header-action.scss',\n})\nexport class EuiSectionHeaderActionComponent {\n    /** CSS class applied to the host element */\n    @HostBinding('class') string = 'eui-section-header-action';\n}\n","import { Component, HostBinding } from '@angular/core';\n\n/**\n * @description\n * Description container for EuiSectionHeader that displays supplementary text below the title.\n *\n * @usageNotes\n * ```html\n * <eui-section-header-description>Additional context or instructions</eui-section-header-description>\n * ```\n */\n@Component({\n    selector: 'eui-section-header-description',\n    template: '<ng-content />',\n    styleUrl: './eui-section-header-description.scss',\n})\nexport class EuiSectionHeaderDescriptionComponent {\n    /** CSS class applied to the host element */\n    @HostBinding('class') string = 'eui-section-header-description';\n}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\n/**\n * @description\n * Icon container for EuiSectionHeader that displays an icon before the title.\n *\n * @usageNotes\n * ```html\n * <eui-section-header-icon icon=\"settings\"></eui-section-header-icon>\n * ```\n */\n@Component({\n    selector: 'eui-section-header-icon',\n    template: '<eui-icon-svg [icon]=\"icon\" size=\"s\"/>',\n    styleUrl: './eui-section-header-icon.scss',\n    imports: [\n        ...EUI_ICON,\n    ],\n})\nexport class EuiSectionHeaderIconComponent {\n    /** CSS class applied to the host element */\n    @HostBinding('class') string = 'eui-section-header-icon';\n\n    @Input() icon: string;\n}\n","import { Component, HostBinding } from '@angular/core';\n\n/**\n * @description\n * Title container for EuiSectionHeader that displays the main heading text.\n *\n * @usageNotes\n * ```html\n * <eui-section-header-title>Section Title</eui-section-header-title>\n * ```\n */\n@Component({\n    selector: 'eui-section-header-title',\n    template: '<ng-content />',\n    styleUrl: './eui-section-header-title.scss',\n})\nexport class EuiSectionHeaderTitleComponent {\n    /** CSS class applied to the host element */\n    @HostBinding('class') string = 'eui-section-header-title';\n}\n","import {\n    Component,\n    EventEmitter,\n    HostBinding,\n    Input,\n    Output,\n    booleanAttribute,\n    inject,\n} from '@angular/core';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EUI_ICON_BUTTON_EXPANDER } from '@eui/components/eui-icon-button-expander';\n\n/**\n * @description\n * Section header component that provides a grouped container with optional expand/collapse functionality\n * and customizable label content. Used to organize and separate content sections with clear visual hierarchy.\n *\n * @usageNotes\n * ### Basic usage\n * ```html\n * <eui-section-header>\n *   <eui-section-header-title>Section Title</eui-section-header-title>\n *   <eui-section-header-description>Description text</eui-section-header-description>\n * </eui-section-header>\n * ```\n *\n * ### With icon and action\n * ```html\n * <eui-section-header>\n *   <eui-section-header-icon icon=\"info\"></eui-section-header-icon>\n *   <eui-section-header-title>Settings</eui-section-header-title>\n *   <eui-section-header-action>\n *     <button euiButton>Edit</button>\n *   </eui-section-header-action>\n * </eui-section-header>\n * ```\n *\n * ### Expandable section\n * ```html\n * <eui-section-header \n *   [isExpandable]=\"true\"\n *   [isExpanded]=\"expanded\"\n *   (expand)=\"onToggle($event)\">\n *   <eui-section-header-title>Advanced Options</eui-section-header-title>\n * </eui-section-header>\n * ```\n *\n * ### Accessibility\n * - Expandable sections use proper ARIA attributes for disclosure widgets\n * - Keyboard accessible expand/collapse with Enter and Space\n * - Clear visual indicators for expanded/collapsed state\n * - Action buttons maintain their own accessibility requirements\n *\n * ### Notes\n * - Use `isFirst` to remove top border for the first section in a group\n * - Supports color variants via `euiVariant` (primary, secondary, success, etc.)\n * - `euiHighlighted` adds visual emphasis to important sections\n * - Combine with content containers for complete section structure\n */\n@Component({\n    selector: 'eui-section-header',\n    templateUrl: './eui-section-header.component.html',\n    styleUrl: './eui-section-header.scss',\n    imports: [\n        ...EUI_ICON_BUTTON_EXPANDER,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiPrimary',\n                'euiSecondary',\n                'euiSuccess',\n                'euiInfo',\n                'euiWarning',\n                'euiDanger',\n                'euiVariant',\n                'euiHighlighted',\n            ],\n        },\n    ],\n})\nexport class EuiSectionHeaderComponent {\n    /** CSS classes applied to the host element */\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-section-header'),\n            this.isExpandable ? 'eui-section-header--expandable' : '',\n            this.isFirst ? 'eui-section-header--first': '',\n        ].join(' ').trim();\n    }\n\n    /** Element attribute for e2e testing */\n    @HostBinding('attr.data-e2e')\n    @Input() e2eAttr = 'eui-section-header';\n\n    /** Unique identifier for the fieldset */\n    @Input() id: string;\n\n    /** Whether the fieldset can be expanded/collapsed */\n    @Input({ transform: booleanAttribute }) isExpandable = false;\n\n    /** Whether the fieldset is currently expanded */\n    @Input({ transform: booleanAttribute }) isExpanded = true;\n\n    /** Whether this is the first fieldset in a group */\n    @Input({ transform: booleanAttribute }) isFirst = false;    \n\n    /** Event emitted when the fieldset is expanded or collapsed */\n    @Output() expand: EventEmitter<string> = new EventEmitter();\n\n    /** Label for expand button accessibility */\n    public expandMenuLabel = 'Expand';\n\n    /** Label for collapse button accessibility */\n    public collapseMenuLabel = 'Collapse';\n\n    protected baseStatesDirective: BaseStatesDirective = inject(BaseStatesDirective);\n\n    /**\n     * Handles expand/collapse toggle events\n     * Emits the fieldset ID when toggled\n     */\n    onToggle(): void {\n        if (this.isExpandable) {\n            this.isExpanded = !this.isExpanded;\n            this.expand.emit(this.id);\n        }\n    }\n}\n","<div class=\"eui-section-header-wrapper\">\n    <div class=\"eui-section-header-top-wrapper\">\n        <div class=\"eui-section-header-start\">\n            @if (isExpandable) {\n                <eui-icon-button-expander\n                    [isExpanded]=\"isExpanded\"\n                    isDirectionForward\n                    fillColor=\"secondary\"\n                    (buttonClick)=\"onToggle()\">\n                </eui-icon-button-expander>\n            }\n            <ng-content select=\"eui-section-header-icon\"/>\n            <ng-content select=\"eui-section-header-title\"/>\n        </div>\n        <div class=\"eui-section-header-end\">\n            <ng-content select=\"eui-section-header-action\"/>\n        </div>\n    </div>\n    <ng-content select=\"eui-section-header-description\"/>\n</div>\n\n@if (isExpanded || !isExpandable) {\n    <div class=\"eui-section-header-content\">\n        <ng-content/>\n    </div>\n}\n","import { EuiSectionHeaderActionComponent } from './eui-section-header-action';\nimport { EuiSectionHeaderDescriptionComponent } from './eui-section-header-description';\nimport { EuiSectionHeaderIconComponent } from './eui-section-header-icon';\nimport { EuiSectionHeaderTitleComponent } from './eui-section-header-title';\nimport { EuiSectionHeaderComponent } from './eui-section-header.component';\n\nexport * from './eui-section-header.component';\nexport * from './eui-section-header-action';\nexport * from './eui-section-header-title';\nexport * from './eui-section-header-icon';\nexport * from './eui-section-header-description';\n\nexport const EUI_SECTION_HEADER = [\n    EuiSectionHeaderComponent,\n    EuiSectionHeaderTitleComponent,\n    EuiSectionHeaderIconComponent,\n    EuiSectionHeaderActionComponent,\n    EuiSectionHeaderDescriptionComponent,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}